Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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 在一个没有NSURLConnections的函数中[NSURLConnection releaseDelegate]崩溃,我如何找到罪魁祸首?_Iphone_Crash_Ios Simulator_Nsurlconnection - Fatal编程技术网

Iphone 在一个没有NSURLConnections的函数中[NSURLConnection releaseDelegate]崩溃,我如何找到罪魁祸首?

Iphone 在一个没有NSURLConnections的函数中[NSURLConnection releaseDelegate]崩溃,我如何找到罪魁祸首?,iphone,crash,ios-simulator,nsurlconnection,Iphone,Crash,Ios Simulator,Nsurlconnection,喂, 我正在试验一个非常恶性的崩溃,它以以下方式显示在设备日志中: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x50000008 Crashed Thread: 0` Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libobjc.A.dylib

喂, 我正在试验一个非常恶性的崩溃,它以以下方式显示在设备日志中:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x50000008
Crashed Thread:  0`

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib               0x33b24c98 objc_msgSend + 16
1   Foundation                    0x3429465a _NSURLConnectionReleaseClient + 30
2   CFNetwork                     0x355ac608 ClientContextHolder<CFURLConnectionClient_V4>::forget() + 20
3   CFNetwork                     0x355ac5ea URLConnectionClient::releaseClientLocked() + 34
4   CFNetwork                     0x355a0e9a URLConnectionClient::processEvents() + 170
5   CFNetwork                     0x355a0de2 URLConnection::multiplexerClientPerform(RunLoopMultiplexer*) + 30
6   CFNetwork                     0x355a0d54 MultiplexerSource::perform() + 120
7   CFNetwork                     0x355a0cd2 MultiplexerSource::_perform(void*) + 2
8   CoreFoundation                0x3039ca72 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
9   CoreFoundation                0x3039e758 __CFRunLoopDoSources0 + 376
10  CoreFoundation                0x3039f4e4 __CFRunLoopRun + 224
11  CoreFoundation                0x3032febc CFRunLoopRunSpecific + 224
12  CoreFoundation                0x3032fdc4 CFRunLoopRunInMode + 52
13  GraphicsServices              0x35571418 GSEventRunModal + 108
14  GraphicsServices              0x355714c4 GSEventRun + 56
15  UIKit                         0x358c7d62 -[UIApplication _run] + 398
16  UIKit                         0x358c5800 UIApplicationMain + 664
17  inArrivo                      0x000023ca main (main.m:14)
18  inArrivo                      0x00002394 start + 32
异常类型:EXC\u坏访问(SIGSEGV)
异常代码:0x50000008处的内核地址无效
崩溃线程:0`
线程0名称:调度队列:com.apple.main-Thread
线程0崩溃:
0 libobjc.A.dylib 0x33b24c98 objc_msgSend+16
1基金会0x34 29 465 A
2 CFNetwork 0x355ac608 ClientContextHolder::forget()+20
3 CFNetwork 0x355ac5ea URLConnectionClient::releaseClientLocked()+34
4 CFNetwork 0x355a0e9a URLConnectionClient::processEvents()+170
5 CFNetwork 0x355a0de2 URLConnection::multiplexerClientPerform(RunLoopMultiplexer*)+30
6 CFNetwork 0x355a0d54多路复用器源::执行()+120
7 CFNetwork 0x355a0cd2多路复用器源::_perform(void*)+2
8 CoreFoundation 0x3039ca72\uuuu CFRUNLOOP\u正在调用\uu OUT\uu到\uu A\uu SOURCE0\uu PERFORM\u函数\uuu6
9 CoreFoundation 0x3039e758_u CFRunLoopDoSources0+376
10 CoreFoundation 0x3039f4e4\uuu CFRunLoopRun+224
11 CoreFoundation 0x3032febc CFRunLoopRunSpecific+224
12 CoreFoundation 0x3032fdc4 CFRUNLOOPSRUNINMODE+52
13图形服务0x35571418 GSEventRunModal+108
14图形服务0x355714c4 GSEventRun+56
15 UIKit 0x358c7d62-[UIApplication\u run]+398
16 UIKit 0x358c5800 UIApplicationMain+664
17 INARIVO 0x000023ca干管(干管m:14)
18 INARIVO 0x00002394启动+32
启用NSZombie后,编译器日志上也出现以下形式的崩溃:

2011-05-09 16:12:24.400 INARIVO[5019:707]*-[NSURLConnection releaseDelegate]:发送到解除分配实例0x5d61670的消息

出现在app main上,最后一个NSLog来自没有url连接的函数。此外,如果我从该函数中删除一些非常无辜的代码,则不会发生崩溃,在模拟器上运行完整的应用程序时也会发生同样的情况

有没有人能给我一些提示,我可以做些什么来找到导致崩溃的代码?当然,正常的调试在这里没有什么帮助

谢谢,
Fabrizio Bartolomucci

此消息表示NSURLConnection的委托已解除分配。我建议您检查委托对象,查看是否正在对其进行额外的释放。

此消息表示NSURLConnection的委托已解除分配。我建议您检查委托对象,看看您是否正在对其进行额外的发布。

是的,谢谢。问题当然是找到罪犯。我所做的就是在苹果开发者论坛上把NSLogs放到各处。当然,如果有可能从崩溃日志中找到负责人simly,这将使问题更快地得到解决。正如在这篇文章()的评论中提到的,如果Gary的回答有帮助,如果你接受Gary的回答,这将有助于Gary和其他所有在将来看到这个问题的人。事实上,崩溃是因为一个线程在被另一个线程访问时删除并重新创建了一个数组:我想使用标志会阻止这种效果,但事实并非如此。是的,谢谢。问题当然是找到罪犯。我所做的就是在苹果开发者论坛上把NSLogs放到各处。当然,如果有可能从崩溃日志中找到负责人simly,这将使问题更快地得到解决。正如在这篇文章()的评论中提到的,如果Gary的回答有帮助,如果你接受Gary的回答,这将有助于Gary和其他所有在将来看到这个问题的人。事实上,崩溃是因为一个线程在被另一个线程访问时删除并重新创建了一个数组:我想使用一个标志会阻止这种效果,但事实并非如此。