drmemory

Reid's DrMemory clone

OTHER License

Stars
10
Committers
7

**********************************************************

Copyright (c) 2010-2012 Google, Inc. All rights reserved.

Copyright (c) 2008-2009 VMware, Inc. All rights reserved.

**********************************************************

Dr. Memory: the memory debugger

This library is free software; you can redistribute it and/or

modify it under the terms of the GNU Lesser General Public

License as published by the Free Software Foundation;

version 2.1 of the License, and no later version.

This library is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

Library General Public License for more details.

You should have received a copy of the GNU Lesser General Public

License along with this library; if not, write to the Free Software

Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

===========================================================================
D O C T O R M E M O R Y

=========================================================================== What is Dr. Memory?

Dr. Memory is a memory monitoring tool capable of identifying memory-related programming errors such as accesses of uninitialized memory, accesses to unaddressable memory (including outside of allocated heap units and heap underflow and overflow), accesses to freed memory, double frees, memory leaks, and access to un-reserved thread local storage slots (on Windows).

Dr. Memory is based on the DynamoRIO binary translation engine. Dr. Memory currently targets 32-bit Windows and Linux. 64-bit is coming soon.

=========================================================================== How do I use Dr. Memory?

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.


Quick start for Linux:

  1. g++ -m32 -g -fno-inline -fno-omit-frame-pointer *.cpp -o myapp
  2. bin/drmemory.pl -- ./myapp args_to_myapp

Quick start for Windows:

  1. cl /Zi /MT /EHsc /Oy- /Ob0 /Femyapp.exe *.cpp
  2. bin\drmemory.exe -- myapp.exe args_to_my_app

=========================================================================== Full Documentation

If you are viewing this file, you have already successfully unpacked the Dr. Memory distribution archive. To view the documention, point your web browser at the drmemory/docs/html/index.html file, or online at http://drmemory.org/docs/.

=========================================================================== Contact

This project is provided as-is, with no official support. Use the Dr. Memory Users group at http://groups.google.com/group/drmemory-users/ to ask questions and seek help on using Dr. Memory.

Dr. Memory's source code and issue tracker live at http://code.google.com/p/drmemory/

If you would like to submit a patch, you will need to first sign a Contributor License Agreement. See http://code.google.com/p/drmemory/wiki/Contributing for more information.

===========================================================================