【发布时间】:2021-12-19 05:28:01
【问题描述】:
我之前大量使用gdb,现在试一试lldb。我非常喜欢gdb 的start 命令,但是我在lldb 的manual 中找不到对应的命令。现在我只能使用 "b main" 后跟 run 复合。所以只是好奇lldb 中是否有等价的?或者我只能使用“b main”和run 命令的组合作为解决方法。
【问题讨论】:
我之前大量使用gdb,现在试一试lldb。我非常喜欢gdb 的start 命令,但是我在lldb 的manual 中找不到对应的命令。现在我只能使用 "b main" 后跟 run 复合。所以只是好奇lldb 中是否有等价的?或者我只能使用“b main”和run 命令的组合作为解决方法。
【问题讨论】:
你是对的,lldb 没有专用的start 命令。该命令的既定动机是 gdb 支持许多不使用“主”符号的运行时。这使得确定用户代码从何处开始变得非常重要,拥有一个可以为您解决问题的命令很有用。我们在 lldb 中还没有这个需求。
如果你总是使用start 在 gdb 中运行程序,那么你可以在你的 ~/.lldbinit 文件中的 main 上设置一个断点。这将被复制到在您的 lldb 会话中创建的任何新目标,并且run 的行为将与start 完全相同(对于使用主符号的运行时)。
如果它是你经常使用但并不总是使用的东西,你可以使用命令解释器中的 python 扩展点相当容易地制作你自己的版本:
https://lldb.llvm.org/use/python-reference.html#create-a-new-lldb-command-using-a-python-function
另外,请随时通过http://bugs.llvm.org 提交增强请求。
【讨论】: