- 的XCode 7.2.1
- iPad的视网膜的iOS 9.2模拟器
我有几个断点在一个特定的类在XCode项目设置。 我在下面讨论的一切都发生在这个类文件中。的XCode不会停止在断点方法从LLDB
我在-(int16_t)areaNbr
上设置了断点,方法是单击装订线,并且不设置任何条件或任何内容。我通过LLDB提示符运行breakpoint list
,证实它们存在于LLDB中。
项目方案设置为构建调试,而不是发布。
我运行在模拟器的项目,并在一个比问题,当时我想去的LLDB提示,并呼吁po [self areaNbr]
并通过areaNbr
步骤不同的方法在断点处停止。
请注意,因为这可能是非常相关的,我在调用
-(int16_t)areaNbr
目前该项目本身没有代码,我能得到这个停在我的断点上-(int16_t)areaNbr
,如果我加入一些代码调用该方法的项目。
例如,如果我添加类似NSLog(@"... %d", [self areaNbr])
我知道这个问题已经无关编译消失只是因为没有调用它的方法,因为如果这是真的,那么我对po [self areaNbr]
呼叫不能随地吐痰将结果输出到调试器窗口,如下图所示。所以这个方法正在被编译,并且当然被调试器识别为执行的目的......仅仅是为了步进目的。
仅供参考,[self area]
正在恢复 “Area01”
拨打LLDB breakpoint list
返回以下
如果你想想看够长,你就会明白为什么从本身执行代码时LLDB不接受断点。 – Avi
您不应该使用'po'来打印'uint16_t'。 “po”是“** p ** rint ** o **对象”。使用'p'作为原始类型。 –
尝试'表达式-i false - [self areaNbr]'。祝你好运。 – Avi