带有LLDB的Xcode 4.3中的奇怪错误消息

Phl*_*bbo 6 debugging objective-c ios xcode4 lldb

我目前正在使用Xcode 4.3.2编写iOS应用程序.在我的代码的大多数部分中,使用LLDB进行调试工作正常.但是在某些时候,我在逐步执行代码时收到了一条奇怪的消息.当我将鼠标悬停在iVar上时,它说

错误[IRForTarget]:找不到Objective-C间接ivar符号OBJC_IVAR _ $ _ MyFancyClass.iVar

而不是向我展示价值.但是,在Variables View,我可以看到它很好.直到我选择Print Description of ...那个,因为那时,Xcode崩溃......当我使用GDB时,悬停工作,但变量的类型和值是错误的.

我认为我的代码有问题,这反过来导致调试器失败.但是,代码运行正常.我很乐意提供一些样本代码,但课程相当长,而且我无法确定我的搞砸的确切位置.那么有没有人遇到类似的行为?

更新:实际上,似乎这在我的代码中到处发生,而不仅仅是在某些特定文件中.如果它有帮助,当LLDB显示上述消息时,GDB总是显示拥有iVar的Class的对象,而不是iVar本身.看起来内存管理有问题.例如,如果我说的话

[notificationCenter addObserver:self selector:@selector(foo) name:bar object:objA];
Run Code Online (Sandbox Code Playgroud)

即使我有选择器也会被调用

[notificationCenter postNotificationName:bar object:objB];
Run Code Online (Sandbox Code Playgroud)

Mat*_*ski 9

此错误的原因是错误的构建设置,如问题发表评论中的讨论所示.这可以通过将"部署后处理"设置回调试模式的NO(默认值)来修复.