LLDB常用调试命令

Posted 在一起的浅蓝色

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LLDB常用调试命令相关的知识,希望对你有一定的参考价值。

参考链接:https://www.cnblogs.com/hjltonyios/p/8878959.html

 

1.  p、po 打印值

打印相关的命令有:p、po。
p 和 po 的区别在于使用 po 只会输出对应的值,而 p 则会返回值的类型以及命令结果的引用名。

(lldb) p width
(CGFloat) $10 = 70
(lldb) po width
70
(lldb) p endTime
(__NSCFString *) $14 = 0x0000608000437660 @"08-11 11:43"
(lldb) po endTime
08-11 11:43

对比结果:

po:输出值
p:输出值+值类型+引用名+内存地址(xcode中有内存地址,其它平台不确定)
除此之外,p还隐藏了一个有意思的功能,常量的进制转换:

//默认打印为10进制
(lldb) p 100
(int) $8 = 100
//转16进制
(lldb) p/x 100
(int) $9 = 0x00000064
//转8进制
(lldb) p/o 100
(int) $10 = 0144
//转二进制
(lldb) p/t 100
(int) $2 = 0b00000000000000000000000001100100
//字符转10进制数字
(lldb) p/d \'A\'
(char) $7 = 65
//10进制数字转字符
(lldb) p/c 66
(int) $10 = B\\0\\0\\0

以上是关于LLDB常用调试命令的主要内容,如果未能解决你的问题,请参考以下文章

ios 用LLDB查看模拟器文件路径以及一些常用的命令

LLDB调试详解--逆向开发

lldb调试命令

lldb - 如何杀死卡在无限循环中的命令

如何在 LLDB 调试器中调用方法或执行代码?

GDB反向调试(Reverse Debugging)命令 ?