切换后台任务时SIGPIPE崩溃

lau*_*nce 4 iphone crash sigpipe background-process ipad

将我的应用程序发送到后台,加载新应用程序,将设备切换到睡眠模式,唤醒设备,关闭新应用程序,然后从后台任务打开我的应用程序时,我遇到了一个奇怪的崩溃.将出现黑屏,我无法使用主页按钮退出此黑屏,并在调试器中显示以下消息:

程序收到信号:"SIGPIPE".数据格式化程序不可用(错误调用dlopen:"/Developer/usr/lib/libXcodeDebuggerSupport.dylib":"dlopen(/Developer/usr/lib/libXcodeDebuggerSupport.dylib,10):找不到合适的图像.找到:/ Developer/usr/lib/libXcodeDebuggerSupport.dylib:超出地址空间/Developer/usr/lib/libXcodeDebuggerSupport.dylib:stat()失败,错误号为868226285

我该如何解决?

小智 7

SO_NOSIGPIPE通过以下方式设置在插座上setsockopt(),或忽略所有SIGPIPE信号: signal(SIGPIPE, SIG_IGN).

  • 使用`signal(SIGPIPE,SIG_IGN)`,Xcode调试器仍然可以用SIGPIPE信号停止.在这种情况下,只需按下继续按钮,Xcode就会高兴地忽略SIGPIPE. (2认同)