就像任何值得尊敬的开发工具一样,LLDB也有大量的文档。知道如何浏览这些文档--包括一些比较晦涩的命令标志--是掌握LLDB的关键。
打开一个终端窗口,输入lldb。LLDB提示将出现。在那里,简单地输入帮助命令。
(lldb) help
这将倒出所有可用的命令,包括从~/.ldbinit加载的自定义命令--但后面会有更多内容。
在LLDB中,有相当多的命令可以使用。
然而,许多命令有许多子命令,而这些子命令又可以有子命令,这些子命令也有自己的相关文档。我告诉过你这是一个健康的文档量!你知道吗?
以breakpoint命令为例。通过键入以下内容来运行breakpoint的文档。
(lldb) help breakpoint
你会看到下面的输出。
从那里,你可以看到几个支持的子命令。通过输入以下内容查找断点名称的文档。
(lldb) help breakpoint name
你会看到以下输出。
如果你现在不了解断点名称,不要担心--你很快就会熟悉断点和所有后续命令。现在,帮助命令是你能记住的最重要的命令。
有时你不知道你要搜索的命令的名称,但你知道某个词或短语,可能会给你指出正确的方向。apropos命令可以帮你做到这一点;它有点像使用搜索引擎在网上查找东西。
apropos将对LLDB文档中的任何单词或字符串进行不区分大小写的搜索,并返回任何匹配结果。例如,尝试搜索任何与 Swift 有关的内容。
(Lldb) apropos swift
你会看到下面的输出。
这就转储了所有可能与Swift这个词有关的东西:首先是命令,然后是LLDB设置,可以用来控制LLDB的运行方式。
你也可以用apropos来搜索一个特定的句子。例如,如果你在搜索可以帮助参考文献计数的东西,你可以尝试以下方法。
注意 "reference count "周围的引号。 apropos只接受一个参数来搜索,所以引号是必要的,以便将输入的数据视为一个参数。
apropos是一个方便的查询工具。它不像现代互联网搜索引擎那样复杂;然而,通过一些玩法,你通常可以找到你要找的东西。
注意:在最新的Xcode 10版本的LLDB(ldb-1000.11.37.1)中出现了一个新的错误,当使用apropos时,不会给出完整的命令树。例如,上面显示的 refcount 命令实际上只能通过 language swift refcount 使用。在以前的版本中,apropos命令正确地显示了这一点,(将来可能也会如此),但现在你需要做一点调查,以获得使用apropos的确切命令。
我们很容易忘记即将到来的LLDB命令的冲击,但是试着把这两个命令,help和apropos,记在心里。它们是查询命令信息的基础,在你掌握调试方法时,你会一直使用它们。
上一章 | 目录 | 下一章 |
---|