LLDB常用调试命令

时间:2022-01-10 04:59:52

参考链接: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 = B000