通常在lldb调试器中,如果对对象执行po操作,则其地址也会与描述一起显示。但是,如果是NSString,则不显示地址。所以问题是有没有办法看到它。
PS - 源代码中的NSLog%p不是我要找的答案。
答案 0 :(得分:8)
简单地用“p”代替“po”。
示例:
NSString *string1 = @"test 1";
NSString *string2 = @"test 2";
(lldb)po string1
测试1
(lldb)p string1
(NSString *)$ 2 = 0x0000000100003af0 @“test 1”
(lldb)p string2
(NSString *)$ 3 = 0x0000000100003b10 @“test 2”
答案 1 :(得分:0)
您可以使用register read
读取内存中的地址。
它将记录为eax = 0x00004940 @"string"
以及其他注册地址和描述。