【发布时间】:2015-02-09 21:54:28
【问题描述】:
为什么 lldb 坚持打印错误的数据——第一个 ivar 的值,无论我要求哪个 ivar?这是 Xcode 5.1.1。是的,我正在使用 -O0 进行编译,符号没有被剥离,等等。
(lldb) print *self
(SMTestHarness) $13 = {
NSObject = {
isa = SMTestHarness
}
_dir = 0x00740520 @"/Users/lc/Projects/servermonitor/Test/unit-test"
_ip = 0x007406b0
_domain = 0x007429f0
_sm = 0x00676900
_state = 0x00741980
_dsaSimulators = 0x00741d10 5 key/value pairs
_timers = 0x00741f50 2 objects
_originalWd = 0x007403f0 @"/Users/lc/Projects/servermonitor/Test"
}
(lldb) print _dir
(NSString *) $14 = 0x00740520 @"/Users/lc/Projects/servermonitor/Test/unit-test"
(lldb) print _ip
(IPAddress *) $15 = 0x00740520
(lldb) print _domain
(FirstPointDomain *) $16 = 0x00740520
(lldb) print _sm
(ServerMonitorCrashTestDummy *) $17 = 0x00740520
有趣的是,左侧窗格中的变量显示是正确的;只有 lldb 控制台中的打印命令是错误的。
【问题讨论】: