加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:11:10 所属栏目:百科 来源:网络整理
导读:我在 Linux上调试静态多线程x86-64 C应用程序. 我可以在函数上设置断点,停止它们,我可以一步一步地走过函数体.但是当我尝试进入另一个函数时,gdb不会停止它的开始,它似乎只是继续执行.当我中断程序执行时,gdb会处于断开状态并变得不可用: (gdb) btTarget is
我在 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中的错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读