DDDebug is a collection of debugging tools which contains several modules: a memory profiler, a thread viewer, a module viewer and an enhanced exception handler. DDDebug can be integrated easily into your Delphi projects, either using its integrated graphical user interface or its API.
The memory profiler traces memory allocations, recognizes the type of allocation (whether it has been done because of creating an object, string, array or record) and provides up to date information about memory usage and statistics. Unlike other solutions it does support packages, is independent of any specific compiler switches and provides immediate feedback.
In a nutshell, the following features are implemented:
- recognizes objects, strings, arrays and records
- supports packages
- supports profiling of multiple threads
- call stack retrieval
- uses standard MAP files
- independent of compiler switches
- integrated GUI for monitoring and debugging
- easy to use; almost no special requirements
- support for wait chain traversal
- detection of thread deadlocks
- detection of premature freed memory