GDB断点不停
GDB breakpoint doesn't stop
我的目标是找出 str_main
的地址 space,但是 gdb 跳过了我的断点。
如何找到它的地址位置?
我有一个简单的c程序,stack.c
:
....
19 int main(int argc, char **argv[])
20 {
21 char str_main[517];
22 FILE *badfile;
23
24 badfile = fopen("badfile","r");
....
当我进入 gdb 时,我在第 21 行设置了一个断点。但是,当我 运行 调试器时,我收到以下消息:
Breakpoint 1, main(argc=1, argv=0xbffff3d4) at stack.c:24
24 badfile = fopen("badfile","r");
GDB 不会停止没有默认值的声明。
即使达到24后,您仍然可以打印地址。
p /s str_main
我的目标是找出 str_main
的地址 space,但是 gdb 跳过了我的断点。
如何找到它的地址位置?
我有一个简单的c程序,stack.c
:
....
19 int main(int argc, char **argv[])
20 {
21 char str_main[517];
22 FILE *badfile;
23
24 badfile = fopen("badfile","r");
....
当我进入 gdb 时,我在第 21 行设置了一个断点。但是,当我 运行 调试器时,我收到以下消息:
Breakpoint 1, main(argc=1, argv=0xbffff3d4) at stack.c:24
24 badfile = fopen("badfile","r");
GDB 不会停止没有默认值的声明。
即使达到24后,您仍然可以打印地址。
p /s str_main