信号11,iphone应用程序退出时出现分段故障

信号11,iphone应用程序退出时出现分段故障,iphone,segmentation-fault,exit,Iphone,Segmentation Fault,Exit,我有一个iphone应用程序。它似乎运行良好。当我连接到配置好的iphone以进行Xcode操作并运行应用程序时,在使用home键退出应用程序时,管理器窗口中的控制台日志总是抱怨出现分段错误 有没有其他人看到过这一点,你知道问题出在哪里吗?我使用线程在后台加载网页,但退出时停止线程 我的应用程序确实保存了一些持久性信息。当我使用build and analyze函数时,我会得到大约2个潜在的内存泄漏,但在每种情况下,我都会分配一个对象并将其保存在一个数组中 任何想法,或者这是正常的吗?退出应用程

我有一个iphone应用程序。它似乎运行良好。当我连接到配置好的iphone以进行Xcode操作并运行应用程序时,在使用home键退出应用程序时,管理器窗口中的控制台日志总是抱怨出现分段错误

有没有其他人看到过这一点,你知道问题出在哪里吗?我使用线程在后台加载网页,但退出时停止线程

我的应用程序确实保存了一些持久性信息。当我使用build and analyze函数时,我会得到大约2个潜在的内存泄漏,但在每种情况下,我都会分配一个对象并将其保存在一个数组中


任何想法,或者这是正常的吗?

退出应用程序后,您的应用程序可能会过度释放对象。请尝试在释放对象之前转储每个对象,或者使用dealloc方法进行一些调试。

可能您释放某些对象的次数超过其保留次数。注释掉
-在
dealloc
方法(或其他地方)中释放
调用,直到找到罪犯

然后取消对该调用的注释,并查看代码中试图过度释放该对象的其他地方


例如,如果您使用的是方便的方法,(例如,
[NSString-stringWithFormat:@“…”
),而不是
alloc-init
方法(例如,
[[NSString-alloc]initWithFormat:@“…”
)生成的便利对象是自动释放的,不应手动释放。

尝试在启用NSZombie的情况下运行应用程序。这将告诉您是否过度释放任何对象。要启用僵尸,请执行以下操作:

  • 选择项目>编辑活动可执行文件以打开可执行文件信息 窗户
  • 单击“参数”
  • 单击“要在中设置的变量”中的“添加(+)”按钮 “环境”部分
  • 在名称列中输入NSZombieEnabled,在值列中输入YES
  • 确保选中NSZombieEnabled条目的复选标记

  • 我的问题是cydia的uididfaker和locationholic,卸载它们后,xcode可以在我的iphone上正常运行。

    启用NSZombie后,我应该在哪里设置断点来发现问题?使用此设置,me程序将提前终止,并向解除分配的实例发送消息:CFString autorelease:message。我想在消息发送到解除分配的字符串时中断,这样我就可以确定是哪个字符串。谢谢,GerryWith Zombies已启用。我的代码在下面代码的[parser parse]行中出现错误。此位发生在NSThread上。任何关于什么会导致问题的想法。我的foundCharacters例程未命中。谢谢,Gerry(下一条评论中的代码)NSURL*NSURL=[nsurlUrlWithString:query];NSURLRequest*request=[nsurlRequestRequestWithURL:nsurl];数据=[NSURLConnection sendSynchronousRequest:request returningResponse:&响应错误:&错误];NSXMLParser*parser=[[NSXMLParser alloc]initWithData:data];[解析器setDelegate:self];[解析器setShouldProcessNamespaces:否];[解析器setShouldReportNamespacePrefixes:否];[解析器setShouldResolveExternalEntities:否];errorStr=nil;if([parser parse]==YES)//我仍然没有完整的答案。使用NSZombies运行确实会在我的程序中导致早期崩溃,这应该表明存在错误。问题是它发生在我无法控制的NSXMLParser中。其他多个版本可能会持续,但我必须不断地对代码进行分段才能找到它们。叹气。当你说它发生在[parser parse]内部时,它会给你更多的信息吗?我想知道您的数据变量是否有问题。如果您必须保留[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]的结果,即[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]retain],我记不起我的头了。你能试试吗?记住在完成后发布。NSZombieEnabled确实帮助我找到了以前找不到的崩溃。