0

我正在使用 Xcode 4.3.1,但我不太了解如何使用控制台来通过调用堆栈。在我的代码中,我有多行调用一个特定的动作,并且在这个动作中有一个失败的断言。从输出中我只能看到断言失败消息和调用调用堆栈的对象的地址(至少我猜是这样)。但是我无法浏览并查看我的类的哪一行代码调用了导致断言的操作(有点像你可以从 Eclipse 分析堆栈跟踪)。是否有一些相关的教程可以解释这一点?

这是我从班级的多行中调用的操作:

   [[CCActionManager sharedManager] addAction:[CCSequence actions:fadeAction, nil] target:source paused:NO]; 

我知道它会引发断言,但我无法从控制台输出中了解调用此方法的哪些行会导致此问题。

这是我的控制台输出:

*** Assertion failure in -[CCActionManager addAction:target:paused:], /Users/user/Desktop/SourceCode - Backups/MyApp/MyApp/libs/cocos2d/CCActionManager.m:162
2012-06-21 12:40:54.761 MyApp[4148:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Argument target must be non-nil'
*** First throw call stack:
(0x338e08bf 0x303d41e5 0x338e07b9 0x311273b3 0xdc3b 0x5fbe5 0x66d2b 0x338e3814 0x3383e7e1 0x1afbb 0x1c39b 0x1981f 0x3383a435 0x435a7 0x43277 0x44aed 0x3128550f 0x31284f01 0x3126b4ed 0x3126ad2d 0x37fa9df3 0x338b4553 0x338b44f5 0x338b3343 0x338364dd 0x338363a5 0x37fa8fcd 0x31299743 0x58b9b 0x20e4)
4

1 回答 1

3

Apple 对此有技术说明 - TN2151。特别是有关符号化崩溃报告的部分。

使用应用程序的 .dSYM 文件,您可以将堆栈地址(那些十六进制数字)以更易读的格式转换为来自源的调用。

于 2012-06-21T11:00:11.190 回答