Core analyzer is a power tool to debug memory issues. With ever increasing complexity and dataset size of application programs, it is very challenging to find the root cause of a memory bug. Programmers often use debugger to go through many contexts or data objects in order to find a variable, an object or a reference of interest. However, the task is boring, prone to error and usually fruitless. By parsing a core dump file or reading a live process's memory, core analyzer is able to scan the target's heap data for memory corruption, search the whole address space for data object's references, or analyze memory pattern for a given range. It is thorough, labor-free, and insightful. I use the tool on daily basis and it is proved to be invaluable to debug many tough issues.
The tool supports x86_64 architecture including Windows/RedHat/SUSE/MacOSX (both 32-bit and 64-bit).
For more information, please see the project's web site.
- Check heap data structures for memory corruption
- Search all thread contexts, global variables, and heap objects for references to corrupted memory
- Find potential access to victim data through any levels of indirection
- Assist debugging highly optimized code
- Discover shared objects among threads for potential race condition
- Seamless integration to gdb and Windbg debuggers
- Support python extension of gdb
Highly recommend this tool for debugging memory leaks from a core file. It can dump all allocations in the heap among other things. If you regularly debug complex core files, this is a must have. (Note: I used the Linux command line version.)
This tool is truly a wonderful tool for analyzing coredump, especially memory related errors. It is able to reveal much valuable info from core file which GDB can't. It's a complementary tool to GDB. I strongly recommend this tool.