首页 > 解决方案 > 在lldb调试器中,为什么程序计数器会倒退?

问题描述

我面临的问题是,在不断敲击step over命令时,您可以期望程序计数器箭头 ( ->) 一次移动到底部的一行(或多行)。我有一个软件让 lldb 不能那样工作。所以对于那些熟悉 lldb 行为的人,我想这与 gdb 没有什么不同,你知道为什么会发生这样的事情吗?

一开始它可能看起来并不重要,但在调试一段我不熟悉的代码并尝试从交互式调试器会话中研究它时,我发现它令人困惑。

在 lldb 中运行source info时,在 positionX1和 thenX2中,我可以看到这两行的连续非重叠范围越来越大。但问题是X1> X2...

标签: linuxdebugginggdblldb

解决方案


您是否正在使用优化进行编译?如果是这样,编译器通常会生成看起来随机跳动的代码。这也意味着许多变量在变量视图中通常不可用。我会尝试使用 -O0 进行编译以获得最佳调试体验。


推荐阅读