2011-04-19 75 views
4

将应用程序发送到后台,加载新应用程序,将设备切换到睡眠模式,唤醒设备,关闭新应用程序,然后打开我的应用程序时,我遇到了一个奇怪的崩溃来自后台任务。黑屏将出现,我不能用主页按钮退出黑屏,在调试器中,我会看到以下消息:切换后台任务时发生SIGPIPE崩溃

程序接收信号:“SIGPIPE”。 数据格式化不可用(错误 调用的dlopen为: “/Developer/usr/lib/libXcodeDebuggerSupport.dylib”: “的dlopen(/Developer/usr/lib/libXcodeDebuggerSupport.dylib, 10):发现了,没有合适的图像 发现: /Developer/usr/lib/libXcodeDebuggerSupport.dylib: 出 /Developer/usr/lib/libXcodeDebuggerSupport.dylib的地址空间: 统计()失败,错误号= 868226285

我如何修复此问题?

回答

7

通过setsockopt()在套接字上设置SO_NOSIGPIPE,或忽略所有SIGPIPE信号: signal(SIGPIPE, SIG_IGN)

+2

使用'signal(SIGPIPE,SIG_IGN)',Xcode调试器可能仍然停止SIGPIPE信号。在这种情况下,只需按下继续按钮,Xcode就会高兴地忽略SIGPIPE。 – Pang 2013-06-17 05:03:34