我想定义以下停止钩子:
target stop-hook add --one-liner "frame variable"
在我的.lldbinit中,以便默认情况下每个站点都显示帧变量。 在启动后在lldb中输入此内容但在我的.lldbinit中没有任何效果。在lldb启动后,我不想每次都输入它。
答案 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 选项,它会从虚拟目标中删除断点,因此它们不会被复制到同一会话中的任何新目标中。