Usage: drmemory [options] -- -version [ false] Display Dr. Memory version -help [ false] Display option list -dr [ ""] Path to DynamoRIO installation -drmemory [ ""] Path to Dr. Memory installation -top_stats [ false] Show time taken and memory usage of whole process -fetch_symbols [ false] Fetch missing symbol files at the end of the run -follow_children [ true] Monitor child processes -nudge [ 0] Process id to nudge -v [ false] Display verbose information in the Dr. Memory front end -light [ false] Enables a lightweight mode that detects only critical errors -brief [ false] Show simplified and easier-to-read error reports -visual_studio [ false] Produce Visual Studio external tool output -logdir ["/logs"] Base directory for result file subdirectories and symbol cache -verbose [ 1] Verbosity level in log files -quiet [ false] Suppress stderr messages and results -results_to_stderr [ true] Print error reports to stderr in addition to results.txt -prefix_style [ 0] Adjust the default output per-line prefix -log_suppressed_errors [ false] Log suppressed error reports for postprocessing. -ignore_asserts [ false] Do not abort on debug-build asserts -exit_code_if_errors [ 0] If non-zero, the app's exit code is changed to this if errors are found -pause_at_error [ false] Pause at each reported error of any type -pause_at_unaddressable [ false] Pause at each unaddressable access -pause_at_uninitialized [ false] Pause at each uninitialized read -pause_at_exit [ false] Pause at exit -pause_at_assert [ false] Pause at each debug-build assert -pause_via_loop [ false] Pause via loop (not wait for stdin) -crash_at_unaddressable [ false] Crash at the first reported unaddressable access -crash_at_error [ false] Crash at the first reported error of any type -callstack_max_frames [ 12] How many call stack frames to record -callstack_style [0x0301] Set of flags that controls the callstack printing style -callstack_truncate_below ["main,wmain,WinMain,wWinMain,*RtlUserThreadStart,_threadstartex,BaseThreadInitThunk"] ,-separated list of function names at which to truncate callstacks -callstack_modname_hide ["*drmemory*"] ,-separated list of module names to hide in callstack frames -callstack_exe_hide [ true] Whether to omit the executable name from callstack frames -callstack_srcfile_hide [ ""] ,-separated list of source file paths to hide in callstack frames -callstack_srcfile_prefix [ ""] ,-separated list of path prefixes to remove -lib_blacklist [ ""] ,-separated list of path patterns to treat as non-app libs -lib_blacklist_frames [ 4] The number of frames to match vs -lib_blacklist -lib_whitelist [ ""] ,-separated list of path patterns for which to report errors -lib_whitelist_frames [ 4] The number of frames to match vs -lib_whitelist -src_whitelist [ ""] ,-separated list of source patterns for which to report errors -src_whitelist_frames [ 4] The number of frames to match vs -src_whitelist -callstack_use_top_fp [ true] Use the top-level ebp/rbp register as the first frame pointer -callstack_use_top_fp_selectively [ true] Use the top-level ebp/rbp register as the first frame pointer in certain situations -callstack_use_fp [ true] Use frame pointers to walk the callstack -callstack_conservative [ false] Perform extra checks for more accurate callstacks -callstack_max_scan [ 2048] How far to scan to locate the first or next stack frame -callstack_bad_fp_list [ ""] ,-separated list of path patterns where frame pointers are untrustworthy -check_leaks [ true] List details on memory leaks detected -count_leaks [ true] Look for memory leaks -symbol_offsets [ false] Deprecated: use -callstack_style flag 0x4 -ignore_early_leaks [ true] Ignore pre-app leaks -check_leaks_on_destroy [ true] Report leaks on heap destruction -possible_leaks [ true] Show possible-leak callstacks -check_encoded_pointers [ true] Check for encoded pointers -midchunk_size_ok [ true] Consider mid-chunk post-size pointers legitimate -midchunk_new_ok [ true] Consider mid-chunk post-new[]-header pointers legitimate -midchunk_inheritance_ok [ true] Consider mid-chunk multi-inheritance pointers legitimate -midchunk_string_ok [ true] Consider mid-chunk std::string pointers legitimate -scan_read_only_files [ false] Whether the leak scan should scan read-only file-mapped memory -strings_vs_pointers [ true] Use heuristics to rule out sub-strings as leak scan pointers -show_reachable [ false] List reachable allocs -suppress [ ""] File containing errors to suppress -default_suppress [ true] Use the set of default suppressions -gen_suppress_offs [ true] Generate mod+offs suppressions in the output suppress file -gen_suppress_syms [ true] Generate mod!syms suppressions in the output suppress file -show_threads [ true] Print the callstack of each thread creation point referenced in an error -show_all_threads [ false] Print the callstack of each thread creation point -conservative [ false] Be conservative whenever reading application memory -check_uninit_cmps [ true] Check definedness of comparison instructions -check_uninit_non_moves [ false] Check definedness of all non-move instructions -check_uninit_all [ false] Check definedness of all instructions -strict_bitops [ false] Fully check definedness of bit operations -stack_swap_threshold [0x9000] Stack change amount to consider a swap -redzone_size [ 16] Buffer on either side of each malloc -report_max [ 20000] Maximum non-leak errors to report (-1=no limit) -report_leak_max [ 10000] Maximum leaks to report (-1=no limit) -show_duplicates [ false] Print details on each duplicate error -batch [ false] Do not invoke notepad at the end -summary [ true] Display a summary of results to stderr -use_symcache [ true] Cache results of symbol lookups to speed up future runs -symcache_dir ["/logs/symcache"] Directory for symbol cache files -symcache_minsize [ 1000] Minimum module size to cache symbols for -use_symcache_postcall [ true] Cache post-call sites to speed up future runs -preload_symbols [ false] Preload debug symbols on module load -skip_msvc_importers [ true] Do not search for alloc routines in modules that import from msvc* -warn_null_ptr [ false] Warn if NULL passed to free/realloc -delay_frees [ 2000] Frees to delay before committing -delay_frees_maxsz [20000000] Maximum size of frees to delay before committing -delay_frees_stack [ false] Record callstacks on free to use when reporting use-after-free -leaks_only [ false] Check only for leaks and not memory access errors -handle_leaks_only [ false] Check only for handle leak errors and no other errors -check_uninitialized [ true] Check for uninitialized read errors -check_stack_bounds [ false] For -no_check_uninitialized, whether to check for beyond-top-of-stack accesses -check_stack_access [ false] For -no_check_uninitialized, whether to check for errors on stack or frame references -check_alignment [ false] For -no_check_uninitialized, whether to consider alignment -fault_to_slowpath [ true] For -no_check_uninitialized, use faults to exit to slowpath -check_gdi [ true] Check for GDI API usage errors -check_gdi_multithread [ false] Check for GDI API usage error of one DC used by multiple threads -check_handle_leaks [ true] Check for handle leak errors -check_heap_mismatch [ true] Whether to check for Windows API vs C library mismatches -check_delete_mismatch [ true] Whether to check for free/delete/delete[] mismatches -check_prefetch [ true] Whether to report unaddressable prefetches as warnings -prctl_whitelist [ ""] Disable instrumentation unless PR_SET_NAME is on list -auxlib [ ""] Load auxiliary system call handling library -analyze_unknown_syscalls [ true] For unknown syscalls use memory comparison to find output params -syscall_dword_granularity [ true] For unknown syscall comparisons, use dword granularity -syscall_sentinels [ false] Use sentinels to detect writes on unknown syscalls. -prefer_msize [ true] Prefer _msize to malloc_usable_size when both are present -perturb [ false] Perturb thread scheduling to increase chances of catching races -perturb_only [ false] Perturb thread scheduling but disable memory checking -perturb_max [ 50] Maximum delay added by -perturb -perturb_seed [ 0] Seed used for random delays added by -perturb -unaddr_only [ false] Enables a lightweight mode that detects only unaddressable errors -pattern [ 0] Enables pattern mode. A non-zero 2-byte value must be provided -persist_code [ false] Cache instrumented code to speed up future runs (light mode only) -persist_dir ["/logs/codecache"] Directory for code cache files -soft_kills [ true] Ensure external processes terminated by this one exit cleanly