Microsoft Windows provides (use SUA if you need POSIX), possibly the most modern heap infrastructure + (another api known for using heap) of any transport OS today.
The __malloc () debug hooks and their associated CRT debugging interfaces are good for cases where you have the source code for the tests, however they can often skip highlighting with standard libraries or other related code. This is expected because they are the Visual Studio heap debugging infrastructure.
gflags is a very detailed and detailed set of debugging features that have been included in Windows for many years. Having advanced functionality for source and binary files, they are used only (for example, the operating system debugging infrastructure).
It can record full stack traces (reproduction of symbolic information in the operation after processing), for all users of the heap, for all heaps that change the entry point, if necessary, if necessary. In addition, it can modify the heap with pathological cases that can even out data distribution so that the page protection offered by the VM system is optimally assigned (i.e., it allocates your requested heap block at the end of the page, so even a single byte overflow is detected during overflow.
umdh is a tool that can help evaluate the status at different control points, however, data is constantly accumulated during the execution of the goal o this is not a simple stop to debug a checkpoint in a traditional context. In addition, a WARNING. The last thing I checked, at least the total size of the circular buffer that stores information about the stack, for each request is somewhat small (64 thousand records (records + stack)), so you may need to quickly dump large heap users. There are and other ways to access this data, but umdh is pretty simple.
NOTE there are 2 modes;
- MODE 1, umdh {-p: Process-id | -pn: ProcessName} [-f: Filename] [-g]
MODE 2, umdh [-d] {File1} [File2] [-f: Filename]
I don’t know what kind of frenzy swept the developer who chose the alternative option -p: foo the argument argument and the bare order of the argument, but it can be a bit confusing.
Debugging sdk works with a number of other tools, memsnap is a tool that seems to focus on the sheet for storage, etc., but I haven’t used it, your movement may change.
To execute gflags with no arguments for user interface mode, + arg and / args are also used in different modes.