set heap-check min-leak-size num

For example, if you use,

set heap-check min-leak-size 100

WDB does not collect stack traces for allocations smaller than 100 bytes. HP WDB still reports leaks smaller than this size, but does not include a stack trace.

14.10.7.3 Specifying minimum block size

The min-heap-sizeoption reports the heap allocations that exceed the specified number <num> of bytes based on the cumulative number of bytes that are allocated at each call-site, which is inclusive of multiple calls to malloc at a particular call site. For example:

set heap-check min-heap-size 100

When the option min-heap-sizeis set to 100, GDB reports all the cumulative block allocations that 100 bytes at each call-site.

14.10.8 Scenarios in memory debugging

14.10.8.1 Stop when freeing unallocated or deallocated blocks

WDB enables you to locate improper calls to free() and realloc(), with the command:

– In interactive debugging mode: set heap-check free [on off].

In batch mode debugging: check_free [on off].

With this setting on, whenever the program calls free() or realloc() WDB inspects the parameters to verify that they are pointing to valid currently allocated heap blocks.

If WDB detects an erroneous call to free(), it stops the program and reports this condition. You can then look at the stack trace to understand where and how the problem occurred.

14.10.8.2 Stop when freeing a block if bad writes occurred outside block boundary

WDB enables you to locate problems caused by heap block over flow or underflow with the command

– In Interactive debugging mode: set heap-check bounds [on off]

In batch mode debugging: check_bounds [on off]

When bounds checking is turned on, WDB allocates extra space at the beginning and end of a block during allocation and fills it up with a specific pattern. When blocks are freed, WDB verifies whether these patterns are intact. If they are corrupted, an under flow or over flow must have occurred and WDB reports the problem. If you want to nd corruption at any time, use the info corruption command.

The info corruption command can detect memory corruption in an application. That is, it reports all the memory blocks that have over-writes and under-writes.

174 HP-UX Configuration-Specific Information

Page 174
Image 174
HP gnu source-level debugger 5992-4701 manual Scenarios in memory debugging, For example, if you use