gdbinit

Cut and paste the contents below into your ~/.gdbinit. This allows you to easily show the contents of CPU registers (pregs), disassemble the current position (w, as in "where") and see the top of the stack (stack).

set radix 16

define pregs
	printf "eax      0x%0.8x   % 0.10d              ebx      0x%0.8x   % 0.10d\n", $eax, $eax, $ebx, $ebx
	printf "ecx      0x%0.8x   % 0.10d              edx      0x%0.8x   % 0.10d\n", $ecx, $ecx, $edx, $edx
	printf "ebp      0x%0.8x   % 0.10d               es      0x%0.4x   fs  0x%0.4x   gs  0x%0.4x\n", $ebp, $ebp, $es, $fs, $gs
	printf "esp      0x%0.8x   % 0.10d               ss      0x%0.4x\n", $esp, $esp, $ss
	printf "esi      0x%0.8x   % 0.10d               ds      0x%0.4x\n", $esi, $esi, $ds
	printf "eip      0x%0.8x   % 0.10d               cs      0x%0.4x\n", $eip, $eip, $cs
	printf "edi      0x%0.8x   % 0.10d\n", $edi, $edi
	printf "eflags   %d %d %d %d %d %d %d %d %d %d %d %d %d %d | %d %d %d %d %d %d %d %d\n", ($eflags & (1<<21)) > 0, ($eflags & (1<<20)) > 0, ($eflags & (1<<19)) > 0,  ($eflags & (1<<18)) > 0,  ($eflags & (1<<17)), ($eflags & (1<<16)) > 0,  ($eflags & (1<<15)) > 0,  ($eflags & (1<<14)) > 0,  ($eflags & (1<<13)) > 0, ($eflags & (1<<12)) > 0,  ($eflags & (1<<11)) > 0,  ($eflags & (1<<10)) > 0, ($eflags & (1<<9)) > 0, ($eflags & (1<<8)) > 0, ($eflags & (1<<7)) > 0, ($eflags & (1<<6)) > 0, ($eflags & (1<<5)) > 0, ($eflags & (1<<4)) > 0, ($eflags & (1<<3)) > 0, ($eflags & (1<<2)) > 0, ($eflags & (1<<1)) > 0, ($eflags & (1<<0)) > 0
	printf "         I V V A V R - N I I O D I T | S Z - A - P - C\n"
	printf "         D I I C V R   T P P F F F F | F F   F   F   F\n"
	printf "           P F   M F     L L         |\n"
end

define w
	x/8i $pc
end

define stack
	x/8x $esp
end

$Id: gdbinit.html 2632 2005-05-31 08:43:55Z ska $