c – gdb步骤不能按预期工作

前端之家收集整理的这篇文章主要介绍了c – gdb步骤不能按预期工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Linux上调试静态多线程x86-64 C应用程序.

我可以在函数上设置断点,停止它们,我可以一步一步地走过函数体.但是当我尝试进入另一个函数时,gdb不会停止它的开始,它似乎只是继续执行.当我中断程序执行时,gdb会处于断开状态并变得不可用:

(gdb) bt
Target is executing.
(gdb) c
Continuing.
Cannot execute this command while the selected thread is running.
(gdb)

作为解决方法,我可以使用stepi几次而不是step,stepi按预期工作.
可能是这种行为的原因?除了使用stepi还有什么办法吗?
我使用的是gdb 7.6和gcc 4.7.1.

解决方法

What could be the reason of this behavior?

这是GDB中的一个错误.它设置一个临时断点,并期望它被击中.但是断点不会受到打击(可能是因为它被设置在错误的地方),GDB的内部状态机让所有的困惑.

Is there any workarounds besides using stepi?

您可以尝试从CVS升级到顶级GDB版本,如果GDB仍然损坏,请报告GDB bugzilla中的错误.

猜你在找的C&C++相关文章