美文网首页
LLDB 使用总结

LLDB 使用总结

作者: A訫飛Flyme | 来源:发表于2019-04-08 09:08 被阅读0次

    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 (断点)
     $ breakpoint set -n [方法字符串]
    例如:
    $ breakpoint set -n "viewDidLoad"
    `其中 -n 是 --name缩写`
    
    • 显示所有断点
    $ breakpoint list
    
    • 启用断点
    $ breakpoint enable [编号]
    
    • 禁用断点
    $ breakpoint disable [编号]
    
    • 删除(只能按组删除,不能删除组中的某个)
    $ breakpoint delete [编号]
    
    • 根据selector方法设置断点
    $ breakpoint set —-selector [方法]
    例如:
    $ breakpoint set --selector dealloc
    
    • 根据某个文件中的selector方法设置断点
    $ breakpoint set —file [文件] —-selector [方法]
    
    • 遍历项目中所有包含 testFunc 字符串的方法并设置断点
    $ breakpoint set -r [方法字符串]
    例如:
    $ breakpoint set -r "testFunc"
    

    流程控制

    END

    相关文章

      网友评论

          本文标题:LLDB 使用总结

          本文链接:https://www.haomeiwen.com/subject/euiyiqtx.html