在lldb调试器中,程序计数器为什么向后



我面临的问题是,在不处于循环中的情况下,不断点击step over命令时,您可以期望程序反向箭头(->(一次移动到底部一行(或多行(。我有一个软件使lldb不能那样工作。所以对于那些熟悉lldb行为的人来说,我想这与gdb没有太大区别,你知道为什么会发生这样的事情吗?

起初,这似乎并不重要,但当调试一段我不熟悉的代码并试图从交互式调试器会话中研究它时,我发现这很令人困惑。

当在位置X1X2运行lldb中的source info时,我可以看到这两条线具有与它们相关联的不断增加的连续非重叠范围。但问题是X1>X2。。。

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

这是一个很容易犯的错误。我在编译可执行文件后修改了源代码。当然,可执行文件中不存储任何源代码。因此,它只是引用文件中已知的行。

最新更新