Debugging Dynamic Memory Usage Errors Using HP WDB (766161-001, March 2014)
61 {
62 f4_small();
63 f1_small();
64 f2_small();
65 f3_small();
66 }
67 set_brkpt_here();
68
69 for (int i=0; i<1000; i++)
70 {
71 f4();
72 f1();
73 f2();
74 f3();
75
76 }
77 set_brkpt_here();
78 }
Sample Debugging Session
$ gdb -leaks malloc_1.32
(gdb) b set_brkpt_here
(gdb) run
(gdb) info heap process
Total space in arenas: 4657088
Number of bytes in free small blocks: 69216
Number of bytes in used small blocks: 199584
Number of bytes in free ordinary blocks: 2480
Number of bytes in used ordinary blocks: 4375600
Number of bytes in holding block header: 912
Number of small blocks: 3500
Number of ordinary blocks: 9
Number of holding blocks: 0
Number of free ordinary blocks: 1
Number of free small blocks: 388
Small block allocator parameters
enabled: 1
maxfast: 512
numblks: 100
grain: 16
cache
enabled: 0
miss: 0
bucketsize: 0
buckets: 0
retirement: 0
Exec type: SHARE_MAGIC
20