【发布时间】:2016-09-30 22:00:41
【问题描述】:
我的目标是找出str_main 的地址空间,但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");
【问题讨论】:
-
第 22 行在编译后的二进制文件中并不是真正的可执行行。但问题是什么?停在第 24 行完全可以满足您的需求。您认为您可以在第 22 行的调试器中看到哪些在第 24 行看不到的内容?也就是说,您没有问题。
标签: c debugging gdb breakpoints