Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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
你将如何调试这个iphone bug_Iphone_Objective C - Fatal编程技术网

你将如何调试这个iphone bug

你将如何调试这个iphone bug,iphone,objective-c,Iphone,Objective C,我不知道从哪里开始,尝试了静态分析器并逐行检查了每一行代码,但仍然没有任何帮助。这意味着您正在尝试使用已解除分配的对象,即发送的发布或从SuperView移除: 查看如何启用名为NSZombie的调试功能—它使对象即使在发布时也保持活动状态,并让您知道正在访问哪个对象。缺点是程序使用的内存要多得多(因为没有真正释放任何内存),但您只能在发现问题后才使用它,然后将其关闭 亚当是对的。但是您还应该启用 假设您有以下输出: -[CFString respondsToSelector:]: messag

我不知道从哪里开始,尝试了静态分析器并逐行检查了每一行代码,但仍然没有任何帮助。

这意味着您正在尝试使用已解除分配的对象,即发送的
发布
从SuperView移除:


查看如何启用名为NSZombie的调试功能—它使对象即使在发布时也保持活动状态,并让您知道正在访问哪个对象。缺点是程序使用的内存要多得多(因为没有真正释放任何内存),但您只能在发现问题后才使用它,然后将其关闭

亚当是对的。但是您还应该启用

假设您有以下输出:

-[CFString respondsToSelector:]: message sent to deallocated instance 0x4b9e720
2003-03-18 13:01:38.644您的应用程序[******]*****选择器“释放”
已发送到NSConcretedData类的已解除分配的实例****。
在gdb中键入以下命令(使用您的值交换和):

malloc\u历史记录

这将告诉您分配的位置和内容。

在调试器中运行它并查看堆栈跟踪。

有什么方法可以告诉您它是什么对象吗?0x4B9E720那么您将消息发送到的字符串是什么?CFString将其缩小了一点。你没有堆栈跟踪吗?它说由于我以前尝试itHoly cow时出现的错误,堆栈日志记录被禁用!我打赌他从来没有想到过!缺少堆栈跟踪表明他没有。
2003-03-18 13:01:38.644 yourApp[**<pid>**] *** *** Selector 'release' 
sent to dealloced instance **<address>** of class NSConcreteData.
malloc_history <pid> <address>