Debugging with GDB (February 2008)

Table Of Contents
Chapter 14: HP-UX Configuration-Specific Information 137
set heap-check scramble [on | off]
Scrambles a memory block and overwrites it with a specific pattern when it
is allocated or deallocated. This change to the memory contents increases the
chance that erroneous behaviors, such as attempting to access space that is
freed or depending on initial values of malloc() blocks, cause the program to
fail.
info dangling
Displays a list of all the dangling pointers and dangling blocks that are potential
sources of memory corruption( may have false positives).
info corruption
Checks for corruption in the currently allocated heap blocks.In addition, it lists
the potential in-block corruptions in all the freed blocks.
set heap-check min-leak-size num
Collects a stack trace only when the size of the leak exceeds the number of
bytes you specify for this value. Larger values improve run-time performance.
The default value is zero (0) bytes.
set heap-check frame-count num
Controls the depth of the call stack collected. Larger values increase run time.
The default value is four (4) stack frames.
set heap-check header-size num of bytes
Sets the Header guard for each block of the allocated memory. The default
number of bytes for the footer is 16 bytes if this option is not used. If the user
specifies a value less than 16 for the number of bytes, the debugger ignores it
and takes the default of 16 bytes. If the user specifies more than 16 bytes,
then the debugger considers the largest and closest 16 byte integral from the
user-specified value.
Example:
If the user specifies 60 bytes, the debugger takes it as 48 bytes. If the user
specifies 65, the debugger considers 64 bytes.
set heap-check footer-size num of bytes
Sets the Footer guard for each block of the allocated memory. The default
number of bytes for the footer is one byte if this option is not used.
14.10.4.2 Example for interactive debugging session
This example describes checking a program running on HP-UX 11.x using linker version
B.11.19 or later:
1. Link the program with /usr/lib/libc.sl instead of libc.a.
2. Run the debugger and load the program:
> gdb a.out
3. Turn on leak checking:
(gdb) set heap-check leaks on