Merge branch 'edge' into track_allocs
[clinton/Smoothieware.git] / .gdbinit
1 define heapwalk
2 set var $chunk_curr=(unsigned int)__smoothieHeapBase
3 set var $chunk_number=1
4 while ($chunk_curr < '_sbrk::heap')
5 set var $chunk_size=*(unsigned int*)($chunk_curr+4) & ~1
6 set var $chunk_next=$chunk_curr + $chunk_size
7 set var $chunk_inuse=*(unsigned int*)($chunk_next+4) & 1
8 set var $chunk_tag=*(unsigned int*)$chunk_next
9 printf "Allocation: %u Address: 0x%08X Size:%u ", $chunk_number, $chunk_curr+8, $chunk_size-4
10 if ($chunk_inuse)
11 info line *($chunk_tag)
12 else
13 printf "FREE CHUNK\n"
14 end
15 set var $chunk_curr=$chunk_next
16 set var $chunk_number=$chunk_number+1
17 end
18 end
19
20 define crashdump
21 set pagination off
22 set logging on
23 bt
24 list
25 disass
26 set var $ptr=0x10000000
27 while $ptr < 0x10008000
28 x/4wa $ptr
29 set var $ptr+=16
30 end
31 info registers
32 set logging off
33 set pagination on
34 end