% gdb tryaddone GNU gdb Red Hat Linux (5.2.1-4) Copyright 2002 Free Software Foundation, Inc. ... (gdb) b main Breakpoint 1 at 0x804836c: file TryAddOne.c, line 15. (gdb) r Starting program: /www/matloff/public_html/50/PLN/tryaddone Breakpoint 1, main () at TryAddOne.c:15 15 { x = 7; (gdb) n 16 addone(&x); (gdb) p/x $esp $1 = 0xbfffdcf0 (gdb) p/x &x $2 = 0x8049524 (gdb) s addone () at AddOne.s:26 26 push %ebx Current language: auto; currently asm (gdb) p/x $esp $3 = 0xbfffdcdc (gdb) p/x $ebx $4 = 0x4213820c (gdb) x/2w $esp 0xbfffdcdc: 0x08048383 0x08049524 (gdb) si 31 movl 8(%esp), %ebx (gdb) p/x $esp $5 = 0xbfffdcd8 (gdb) x/3w $esp 0xbfffdcd8: 0x4213820c 0x08048383 0x08049524 (gdb) si 33 incl (%ebx) # need the (), since the argument was an address (gdb) si 36 pop %ebx (gdb) si 38 ret (gdb) p/x $esp $6 = 0xbfffdcdc (gdb) p/x $ebx $7 = 0x4213820c (gdb) x/2w $esp 0xbfffdcdc: 0x08048383 0x08049524 (gdb) si 0x08048383 in main () at TryAddOne.c:16 16 addone(&x); Current language: auto; currently c (gdb) p/x $esp $8 = 0xbfffdce0