如何让LLDB打印当前行

How to get LLDB to print current line

本文关键字:打印 LLDB      更新时间:2023-10-16

运行GDB时,调试器会打印它所在的当前行,以指示它当前所在的位置。

鉴于我在小牛队,GDB似乎不是一个选择,因此我不得不使用LLDB。我的问题是:我如何从LLDB获得类似的行为?

目前,它所做的只是打印7行左右的代码,箭头指向当前行,而不仅仅是打印它所在的行,这看起来相当混乱。LLDB似乎也忽略了printf 产生的所有输出

有没有一种方法可以使用LLDB实现相同或相似的结果?

我不认为你问的问题正是你想要的。我想你的意思是"如何让LLDB只打印当前行",因为正如你所指出的,它总是打印当前行和一些上下文行。

不管怎样,当你停止时,有多少行源被打印出来是由两个设置控制的:

  stop-line-count-after    -- The number of sources lines to display that come after the current source line when displaying a stopped context.
  stop-line-count-before   -- The number of sources lines to display that come before the current source line when displaying a stopped context.

事实上,这些并不完全正确,因为将两者都设置为0不会显示任何源行,但将"after"设置为1会显示两条停止行。有人显然想让它可以显示无源代码行,但不想添加额外的设置。

不管怎样,你不能只得到一行,但你可以把它减少到两行。