blob: 1db5410e430ca871ebf48344204b6b643a09f3d2 [file] [log] [blame]
# Dr. Memory
Dr. Memory ( is an open-source dynamic memory
monitoring tool for Windows, Linux, and Mac.
## About Dr. Memory
Dr. Memory operates on unmodified application binaries running on
Windows, Linux, or Mac on commodity x86 and ARM32 (forthcoming) hardware.
It is capable of identifying memory-related programming errors including:
* accesses of uninitialized memory
* accesses to unaddressable memory (heap underflow and overflow)
* accesses to freed memory
* double frees
* memory leaks
* handle leaks (on Windows)
* GDI API usage errors (on Windows)
* accesses to un-reserved thread local storage slots (on Windows)
## Using Dr. Memory (Windows only)
Build your application with debug information and then run it under
Dr. Memory. Errors found are printed to the screen, and a summary is
shown at the end of the run.
### Obtain Dr. Memory
The Dr. Memory package is provided as a self-extracting archive
(DrMemory-Windows-sfx.exe) in tools/drmemory directory, which can be
extracted by running command 'DrMemory-Windows-sfx.exe -ounpacked -y'.
The Dr. Memory release package can be downloaded from
Nightly builds can be downloaded from
The Dr. Memory source code can be found at
### Run your application with Dr. Memory
To run your application with Dr. Memory, simply put 'drmemory.exe --'
before the command that invokes the application.
* Running pdfium_unittests with Dr. Memory:
tools\drmemory\unpaced\bin\drmemory.exe -- out\Debug\pdfium_unittests.exe
* Running pdfium_tests with Dr. Memory:
tools\drmemory\unpaced\bin\drmemory.exe -- out\Debug\pdfium_tests.exe --png YourInputPDF.pdf
### Run test suite with Dr. Memory
A set of scripts are provided to run PDFium test suite with Dr. Memory
on buildbots, which can also be used for running test suite locally.
* Running pdfium_unittests with Dr. Memory:
tools\drmemory\scripts\pdfium_tests.bat -t pdfium_unittests
* Running pixel test suite with Dr. Memory:
tools\drmemory\scripts\pdfium_tests.bat -t pdfium_pixel
## Documentation
Command 'drmemory.exe -help' prints a list of Dr. Memory runtime
options with short description.
To view the full documention, point your web browser at
## Contact
This project is provided as-is, with no official support.
Use the Dr. Memory Users group at to ask questions and
seek help on using Dr. Memory.
Dr. Memory's source code and issue tracker live at
If you would like to submit a patch, you will need to first sign a
Contributor License Agreement.
See for more