README
1
2 # Dr. Memory
3
4 Dr. Memory (www.drmemory.org) is an open-source dynamic memory
5 monitoring tool for Windows, Linux, and Mac.
6
7 ## About Dr. Memory
8
9 Dr. Memory operates on unmodified application binaries running on
10 Windows, Linux, or Mac on commodity x86 and ARM32 (forthcoming) hardware.
11 It is capable of identifying memory-related programming errors including:
12 * accesses of uninitialized memory
13 * accesses to unaddressable memory (heap underflow and overflow)
14 * accesses to freed memory
15 * double frees
16 * memory leaks
17 * handle leaks (on Windows)
18 * GDI API usage errors (on Windows)
19 * accesses to un-reserved thread local storage slots (on Windows)
20
21 ## Using Dr. Memory (Windows only)
22
23 Build your application with debug information and then run it under
24 Dr. Memory. Errors found are printed to the screen, and a summary is
25 shown at the end of the run.
26
27 ### Obtain Dr. Memory
28
29 The Dr. Memory package is provided as a self-extracting archive
30 (DrMemory-Windows-sfx.exe) in tools/drmemory directory, which can be
31 extracted by running command 'DrMemory-Windows-sfx.exe -ounpacked -y'.
32
33 The Dr. Memory release package can be downloaded from
34 https://github.com/DynamoRIO/drmemory/wiki/Downloads.
35
36 Nightly builds can be downloaded from
37 https://build.chromium.org/p/client.drmemory/builds/.
38
39 The Dr. Memory source code can be found at
40 https://github.com/DynamoRIO/drmemory.
41
42 ### Run your application with Dr. Memory
43
44 To run your application with Dr. Memory, simply put 'drmemory.exe --'
45 before the command that invokes the application.
46
47 * Running pdfium_unittests with Dr. Memory:
48 tools\drmemory\unpaced\bin\drmemory.exe -- out\Debug\pdfium_unittests.exe
49
50 * Running pdfium_tests with Dr. Memory:
51 tools\drmemory\unpaced\bin\drmemory.exe -- out\Debug\pdfium_tests.exe --png YourInputPDF.pdf
52
53 ### Run test suite with Dr. Memory
54
55 A set of scripts are provided to run PDFium test suite with Dr. Memory
56 on buildbots, which can also be used for running test suite locally.
57
58 * Running pdfium_unittests with Dr. Memory:
59 tools\drmemory\scripts\pdfium_tests.bat -t pdfium_unittests
60
61 * Running pixel test suite with Dr. Memory:
62 tools\drmemory\scripts\pdfium_tests.bat -t pdfium_pixel
63
64 ## Documentation
65
66 Command 'drmemory.exe -help' prints a list of Dr. Memory runtime
67 options with short description.
68
69 To view the full documention, point your web browser at
70 http://drmemory.org/docs/.
71
72
73 ## Contact
74
75 This project is provided as-is, with no official support.
76 Use the Dr. Memory Users group at
77 http://groups.google.com/group/drmemory-users/ to ask questions and
78 seek help on using Dr. Memory.
79
80 Dr. Memory's source code and issue tracker live at
81 https://github.com/DynamoRIO/drmemory
82
83 If you would like to submit a patch, you will need to first sign a
84 Contributor License Agreement.
85 See https://github.com/DynamoRIO/drmemory/wiki/Contributing for more
86 information.
87