LLDB调试工具简介:1-常用命令

LLDB简介

LLDB是LLVM下的调试器。Xcode从4.0开始编译器开始改用LLVM,相应的调试器也从gdb改为LLDB,而从 Xcode5.0开始所有工程也被自动设置为使用LLDB。

相比于原先的GCC编译器,LLVM编译器有如下优点:

  • LLVM 编译器是下一带开源的编译技术.完全支持C, Objective-C, 和 C++.
  • LLVM 速度比 GCC快两倍,建立的程序也会运行的更快. 因为它更好的利用现代的芯片的结构.
  • LLVM和Xcode 4完全的整合在一起.包括关键字高亮,代码完整性等全都是由LLVM语法分析器来分析的. 这样可以在编辑的时候就可以很好的了解你的代码.

输出对象

在LLDB中提供了pop两个命令来输出对象或变量的值,其中:

  • po代表print object,可以输出一个对象description方法中可以打印的内容;
  • p代表print,可以输入变量的值。

断点管理

在Xcode中,可以在代码的任意位置添加断点(breakpoint),对于断点的管理本质上也是由LLDB操作的,只不过通过图形化的方式实现了LLDB中的命令。

LLDB中有关断点管理的常用命令有:

  • 查看所有断点:breakpoint list (简化命令br l
  • 继续执行:continue (简化命令c
  • StepOver: next (简化命令n
  • StepIn: step (简化命令s
  • 取消某个断点: breakpoint disable 断点编号 (简化命令br dis 断点编号
  • 删除某个断点: breakpoint delete 断点编号 (简化命令br del 断点编号
  • 终止程序运行:kill

查看栈地址对应的代码位置

image 命令可用于寻址,有多个组合命令,比较实用的用法是用于寻找栈地址对应的代码位置,在查错过程中是可以使用。

  • 查看地址对应的代码位置:image lookup --address 内容地址(简化命令im loo --a 代码位置

更多iOS开发教程,欢迎访问我的博客:www.99ios.com


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThi...
    木易林1阅读 4,551评论 0 4
  • 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThi...
    paraneaeee阅读 4,988评论 0 7
  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 8,649评论 0 10
  • 与调试器共舞 - LLDB 的华尔兹 nangege 2014/12/19 你是否曾经苦恼于理解你的代码,而去尝试...
    McDan阅读 4,350评论 0 0
  • [转]浅谈LLDB调试器文章来源于:http://www.cocoachina.com/ios/20150126/...
    loveobjc阅读 7,495评论 2 6

友情链接更多精彩内容