Memory debugger
From Wikipedia, the free encyclopedia
The lists in this article may contain items that are not notable, encyclopedic, or helpful. Please help out by removing such elements and incorporating appropriate items into the main body of the article. (January 2008) |
A memory debugger is a programming tool for finding memory leaks and buffer overflows. These are due to bugs related to the allocation and deallocation of dynamic memory. Programs written in languages that have garbage collection, such as managed code, might also need memory debuggers, e.g. for memory leaks due to "living" references in collections.
Contents |
[edit] Tools
This is a list of tools useful for memory debugging. A profiler can be used in conjunction with a memory debugger.
- Bcheck
- BoundsChecker
- Daikon
- Debug_new
- dmalloc
- Duma
- Electric Fence
- IBM Rational Purify
- Insure++
- libcwd
- libumem
- MemCheck
- Memwatch
- mpatrol
- mtrace
- Sun Studio Runtime Checking (RTC)
- SPlint
- TotalView
- Valgrind
- WinDBG
[edit] See also
[edit] References
- Michael C. Daconta: C++ Pointers and Dynamic Memory Management, John Wiley & Sons, ISBN 0-471-04998-0
- Andrew Koenig: C Traps and Pitfalls, Addison-Wesley, ISBN 0-201-17928-8
[edit] External links
- "Hunting Memory Bugs" by Ivan Skytte Jørgensen
- "Comparison of Free Memory Checkers" by Jean-Philippe Martin