如何在.lldbinit中为lldb定义一个stop-hook?

时间:2014-05-22 16:07:04

标签: lldb

我想定义以下停止钩子:

target stop-hook add --one-liner "frame variable"

在我的.lldbinit中,以便默认情况下每个站点都显示帧变量。 在启动后在lldb中输入此内容但在我的.lldbinit中没有任何效果。在lldb启动后,我不想每次都输入它。

2 个答案:

答案 0 :(得分:1)

这是一个已知的错误。有几个"目标特定"事情,断点是另一个关键点,你可以设置没有目标来设置它们。

您可以通过将它放在启动lldb时所在目录中的.lldbinit文件中来解决此问题,或者您可以执行以下操作:

lldb -o 'target stop-hook add --one-liner "frame variable"' executable-name

这将在可执行文件之后的stop hook命令中获取,因此我们将有一个目标可以使用。您甚至可以将其设为shell别名,以使生活更轻松。

答案 1 :(得分:0)

还有……多年以后。如果您使用的是 2016 年或之后的 lldb,则上述答案不相关。

lldb 增加了在那个时候在 ~/.lldbinit 中设置断点和停止钩子的支持。因此,不再需要这种解决方法。

~/.lldbinit 中的停止钩子和断点将设置在“虚拟目标”中,然后在创建时复制到任何新目标中。 break delete 还有一个 -D 选项,它会从虚拟目标中删除断点,因此它们不会被复制到同一会话中的任何新目标中。