Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Objective-C中阅读Stacktrace?_Objective C_Debugging - Fatal编程技术网

在Objective-C中阅读Stacktrace?

在Objective-C中阅读Stacktrace?,objective-c,debugging,Objective C,Debugging,我不太喜欢实时调试,但如果有必要,我会做的 有没有办法弄清楚Objective-C中StackTrace所指的代码行是什么?它所指的变量如何?例如: 2010-05-13 19:39:11.673 Thingers[21003:207] *** -[NSCFString count]: unrecognized selector sent to instance 0x3b0ebb0 2010-05-13 19:39:11.674 Thingers[21003:207] *** Terminati

我不太喜欢实时调试,但如果有必要,我会做的

有没有办法弄清楚Objective-C中StackTrace所指的代码行是什么?它所指的变量如何?例如:

2010-05-13 19:39:11.673 Thingers[21003:207] *** -[NSCFString count]: unrecognized selector sent to instance 0x3b0ebb0
2010-05-13 19:39:11.674 Thingers[21003:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString count]: unrecognized selector sent to instance 0x3b0ebb0'
2010-05-13 19:39:11.675 Thingers[21003:207] Stack: (
    29303899
    ...
    11130
)

我知道我们在谈论向没有它的东西发送
count
消息(可能是NSCFString?),但是有没有办法弄清楚对该实例的命名引用(0x3b0ebb0)指的是什么?

这里的堆栈基本上是无用的。这里重要的是

-[NSCFString count]:无法识别的选择器发送到实例0x3b0ebb0

这意味着
-count
被发送到字符串。这通常是由内存管理错误引起的。您可以重新启动并运行该程序,以查看过度发布的内容


另外,使用Build→ 在Xcode中构建和分析,以静态方式找出可能的内存管理错误。

谢谢,这很有帮助。虽然在这种情况下,我实际上是在向一个没有选择器的对象发送一条
count
消息,但知道NSZombie存在还是很好的。@yar:Oh。不要忽略编译器警告:)。