lldb:如何显示以当前执行行为中心的源代码?

sra*_*mij 5 debugging lldb

每当在 lldb 中点击“下一个”命令时,调试器都会执行下一个命令,但它也会显示以下一个要执行的命令为中心的源代码。

我怎样才能让调试器显示这样的源代码信息而不执行任何东西?只需在当前位置显示源代码即可。

我希望能够通过一个非常简单/简短的命令来获取该信息。

Jim*_*ham 8

frame select <IDX>命令将在 IDX 处显示帧,与命令完成时获得的停止显示相同next。所以

(lldb) frame select 0
Run Code Online (Sandbox Code Playgroud)

将显示执行时的当前帧。由于 lldb 执行最短匹配完成,因此您实际上可以输入以下内容

(lldb) fr s 0
Run Code Online (Sandbox Code Playgroud)

但即使这样对于如此常见的命令来说也太长了,因此f被添加为frame select. 所以你可以输入:

(lldb) f 0
Run Code Online (Sandbox Code Playgroud)

此外,如果未提供,帧索引的默认值为 0,因此如果您想关注当前正在执行的帧:

(lldb) f
Run Code Online (Sandbox Code Playgroud)

会做。