Xcode 4停止提供堆栈跟踪,发生了什么?

时间:2011-10-17 01:24:14

标签: iphone objective-c ios xcode debugging

Xcode 4用于在我的日志中崩溃时为我提供了很好的堆栈跟踪,它是如何给出一堆对我没有任何意义的参考数字:

    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' [__NSCFNumber URLEncodedString]: unrecognized selector sent to instance 0x91e5330' *** First throw call stack: (0x1d22052 0x364ed0a 0x1d23ced 0x1c88f00 0x1c88ce2 0xb9935 0xb999f 0xb6179 0xf1c8c 0x8278b 0xe4be4 0xd3f64e 0xd3f941 0xd5147d 0xd5166f 0xd5193b 0xd523df 0xd52986 0xd525a4 0xd5b35 0xd0971d 0xd09952 0x94286d 0x1cf6966 0x1cf6407 0x1c597c0 0x1c58db4 0x1c58ccb 0x4307879 0x430793e 0xc79a9b 0x2b83 0x2a45) terminate called throwing an exception

发生了什么,如何通过对象引用将其恢复到漂亮的漂亮堆栈跟踪?

1 个答案:

答案 0 :(得分:1)

“参考数字串”堆栈跟踪。您经常看到的是映射到这些地址的符号。我的猜测是,由于某种原因,gdb无法将地址映射到符号名称。

也许您无意中更改了编译器/链接器设置,并且不再生成调试信息,因此唯一可以显示的是地址。

尝试创建一个全新的应用程序,并编写故意崩溃的代码,看看是否在那里获得了堆栈跟踪。如果这样做,那么比较两个项目之间的设置应指出问题所在。

祝你好运。