Need help with sumatrapdf?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

sumatrapdfreader
7.2K Stars 1.3K Forks Other 13.2K Commits 373 Opened issues

Description

SumatraPDF reader

Services available

!
?

Need anything else?

Contributors list

SumatraPDF Reader

SumatraPDF is a multi-format (PDF, EPUB, MOBI, FB2, CHM, XPS, DjVu) reader for Windows under (A)GPLv3 license, with some code under BSD license (see AUTHORS).

More information: * main website with downloads and documentation * manual * all other docs

To compile you need latest Visual Studio 2022 or 2019. Free Community edition works.

Open

vs2019/SumatraPDF.sln
and hit F5 to compile and run.

For best results use the latest release available as that's what I use and test with. If things don't compile, first make sure you're using the latest version of Visual Studio.

Notes on targets: *

asan
target is for enabling address sanitizer

Asan notes

Docs: * https://docs.microsoft.com/en-us/cpp/sanitizers/asan?view=msvc-160 * https://devblogs.microsoft.com/cppblog/asan-for-windows-x64-and-debug-build-support/ * https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/

Flags: * https://github.com/google/sanitizers/wiki/SanitizerCommonFlags * https://github.com/google/sanitizers/wiki/AddressSanitizerFlags

Can be set with env variable: *

ASAN_OPTIONS=halt_on_error=0:allocator_may_return_null=1:verbosity=2:check_malloc_usable_size=false:print_suppressions=true:suppressions="C:\Users\kjk\src\sumatrapdf\asan.supp"

In Visual Studio, this is in

Debugging
,
Environment
section.

Note: * as of VS 16.6.2

ASAN_OPTIONS=detect_leaks=1
(i.e. memory leaks) doesn't work. Unix version relies on tcmalloc so this might never work Suppressing issues: https://clang.llvm.org/docs/AddressSanitizer.html#issue-suppression Note: I couldn't get suppressing to work.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.