|
不要笑我哈 :p
在用gdb调试的时候打印栈的情况
- (gdb) list
- 1 #include <stdio.h>
- 2 #include "reciprocal.hpp"
- 3
- 4 int main (int argc,char **argv)
- 5 {
- 6 int i;
- 7
- 8 i = atoi (argv[1]);
- 9 printf ("The reciprocal of %d is %f\n",i,reciprocal (i));
- 10 return 0;
- (gdb) break 8
- Breakpoint 1 at 0x80483f8: file main.c, line 8.
- (gdb) run
- Starting program: /root/program/linuxfire/reciprocal
- Breakpoint 1, main (argc=1, argv=0xbffff144) at main.c:8
- 8 i = atoi (argv[1]);
- (gdb) where
- #0 main (argc=1, argv=0xbffff144) at main.c:8
- #1 0x420158f7 in __libc_start_main () from /lib/i686/libc.so.6
复制代码
请问:
1:Breakpoint 1 at 0x80483f8: file main.c, line 8.
这里 0x80483f8表示的是cs与ip的情况吗?我想知道这个时候CS,IP两个寄存器里面的内容是什么,怎么看?
2gdb) where
#0 main (argc=1, argv=0xbffff144) at main.c:8
#1 0x420158f7 in __libc_start_main () from /lib/i686/libc.so.6
在这个栈情况输出中 argv=0xbffff144中的0xbffff144是什么意思. |
|