LLDB 使用总结

2019-04-08  本文已影响0人  A訫飛Flyme

LLDB简介

LLDB是个开源的内置于XCode的调试工具,可以安装C++或者Python插件。

随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器。它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。LLDB为Xcode提供了底层调试环境,其中包括内嵌在Xcode IDE中的位于调试区域的控制面板,在这里我们可以直接调用LLDB命令。

lldb Debugger

d4b96f15d85fd027d0373ee95bc3e5eb.jpeg

LLDB命令的语法有其通用结构,通常是以下形式的:
<command> [<subcommand> [<subcommand>...]] <action> [-options [option-value]] [argument [argument...]]

  1. <command>(命令)和<subcommand>(子命令):LLDB调试命令的名称。命令和子命令按层级结构来排列:一个命令对象为跟随其的子命令对象创建一个上下文,子命令又为其子命令创建一个上下文,依此类推。
  2. <action>:我们想在前面的命令序列的上下文中执行的一些操作。
  3. <options>:行为修改器(action modifiers)。通常带有一些值。
  4. <argument>:根据使用的命令的上下文来表示各种不同的东西。
  5. []:表示命令是可选的,可以有也可以没有 .

注意: LLBD命令行的解析操作在执行命令之前完成。上面的这些元素之间通过空格来分割,如果某一元素自身含有空格,则可以使用双引用。而如果元素中又包含双引号,则可以使用反斜杠;或者元素使用单引号。在LLDB中单引号和双引号是等价的
例如:

lldb) command [subcommand] -option "some \"quoted\" string"
        can also be written:
(lldb) command [subcommand] -option 'some "quoted" string'

设置断点

 $ breakpoint set -n [方法字符串]
例如:
$ breakpoint set -n "viewDidLoad"
`其中 -n 是 --name缩写`
$ breakpoint list
$ breakpoint enable [编号]
$ breakpoint disable [编号]
$ breakpoint delete [编号]
$ breakpoint set —-selector [方法]
例如:
$ breakpoint set --selector dealloc
$ breakpoint set —file [文件] —-selector [方法]
$ breakpoint set -r [方法字符串]
例如:
$ breakpoint set -r "testFunc"

流程控制

END

上一篇 下一篇

猜你喜欢

热点阅读