【发布时间】:2014-01-23 14:55:58
【问题描述】:
通常在 lldb 调试器中,如果你对一个对象执行 po,它的地址也会与描述一起显示。但是,如果是 NSString,则不会显示地址。所以问题是有没有办法看到它。
PS - 源代码中的 NSLog %p 不是我要寻找的答案。
【问题讨论】:
-
有:
po NSLog(@"%p", object);
标签: xcode pointers nsstring lldb
通常在 lldb 调试器中,如果你对一个对象执行 po,它的地址也会与描述一起显示。但是,如果是 NSString,则不会显示地址。所以问题是有没有办法看到它。
PS - 源代码中的 NSLog %p 不是我要寻找的答案。
【问题讨论】:
po NSLog(@"%p", object);
标签: xcode pointers nsstring lldb
简单地用“p”代替“po”。
例子:
NSString *string1 = @"test 1";
NSString *string2 = @"test 2";
(lldb) po 字符串1
测试 1
(lldb) p 字符串1
(NSString *) $2 = 0x0000000100003af0 @"test 1"
(lldb) p 字符串2
(NSString *) $3 = 0x0000000100003b10 @"test 2"
【讨论】:
您可以使用register read 来读取内存中的地址。
它将像eax = 0x00004940 @"string" 和其他寄存器地址和描述一样记录。
【讨论】: