iOS工具&效率&优化程序员iOS Developer

LLDB调试器

2016-12-04  本文已影响214人  z4ywzrq

前言

在iOS开发中经常使用NSLog进行打印调试,简单方便。NSLog每次调用会打印大量信息,时间、名称、进程等信息,多次调用打印会消耗资源,程序变慢效率低下,每次调试完毕要及时清理NSLog。 另外,每次想要NSLog打印看到信息,需要重新编译运行,对于较大的项目费时费力,所以调试最好使用调试器,LLDB调试器功能强大,由于能力有限只能简单介绍一下LLDB调试器的皮毛。

LLDB

LLDB是新一代高性能调试器,是Xcode上的默认调试器,支持调试C,Objective-C和C ++。LLDB命令结构有统一的格式。

LLDB命令结构


<noun>命令、<verb>命令操作、options命令选项、argument参数。命令各个元素之间用空格隔开,如果参数之中有空格则需要加上双引号。如果参数中带有反斜杠和双引号,则需要在其前面加上反斜杠。

options命令选项可以放在命令行的任何地方,但是如果argument参数以“-”开头,那么必须在option后面添加“--”结束标志进行区分,从而确定option的正确位置。例如你想启动一程序,“process launch”命令的option为“--stop-at-entry”,同时希望命令的argument为“-program_arg value”,你应该输入的命令为:

(lldb) process launch --stop-at-entry -- -program_arg value

help,它会列举出所有的命令。可以通过 help <command> 来了解更多细节,例 help print、help thread
详细的LLDB命令可以参考 LLDB command examples 命令总览。

在Xcode中使用LLDB调试程序

从Xcode 5开始LLDB成为了Xcode的默认调试器。LLDB提供了Xcode的底层调试环境,调试区域中的控制台窗口,用于在Xcode IDE环境中直接调用LLDB命令。


在命令行中使用LLDB调试程序

Xcode IDE通过将LLDB完全集成到源编辑,构建和使用图形控件的“运行调试”循环,自动化了许多这些操作。 从命令行了解这些操作如何工作有助于在Xcode控制台窗口中理解和使用LLDB调试器的功能。

总结

LLDB功能强大,可以做的事情很多,这里只是简单的整理了一下常用的命令,还有许多调试技巧等待着我们去发现,这么强大的调试器是值得我们花费时间和精力去深入研究的,熟练掌握调试技能会极大的提高工作效率。

References

http://lldb.llvm.org/tutorial.html
https://www.objc.io/issues/19-debugging/lldb-debugging/
https://developer.apple.com/library/content/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/Introduction.html#//apple_ref/doc/uid/TP40012917-CH1-SW1

上一篇 下一篇

猜你喜欢

热点阅读