c - GDB断点不停

标签 c debugging gdb breakpoints

<分区>

我的目标是找出 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");

最佳答案

GDB 不会在没有默认值的声明上停止。

即使达到 24,您仍然可以打印地址。

p /s str_main

关于c - GDB断点不停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39800672/

相关文章:

c++ - 来自 Lua 脚本的 nanosleep() 调用暂停了 QT GUI 线程

python - Python 中的时间旅行调试 - 建议使用哪些工具?

c++ - 减少调试 session 中的堆栈大小以捕获无休止的递归

python - 在 PyCharm 中运行 Python 脚本后如何保存变量值?

gdb - 在带有 Centos 5 的 64 位机器上使用带有 32 位二进制文​​件的 gdb 和 gdbserver 会提示内存访问或格式错误的数据

c++ - 使用模板调试 C++ 代码,使用 gdb 调试 STL

c++ - 释放锁定的内存是否会解锁相应的页面?

C: 在 Windows 中运行 Unix 配置文件

c - 这段代码有什么问题,特别是文件?

javascript - 发现与浏览器开发工具有冲突的 Javascript?