应用程序因“看门狗已过期”而崩溃。信息。没有堆栈跟踪或崩溃转储

时间:2010-10-13 19:33:33

标签: iphone xcode debugging

我的应用程序在Xcode调试器中崩溃并显示以下消息:

Watchdog has expired.  Remote device was disconnected?  Debugging session terminated.

The Debugger has exited due to signal 15 (SIGTERM).The Debugger has exited due to signal 15 (SIGTERM).

崩溃非常严重,大部分时间都会重新启动设备。调试器刚退出,之后我就没有崩溃日志。

“看门狗是否已过期”。消息相关吗?或者这只是调试器在崩溃时与应用程序失去联系的神器?

如果相关,那是什么意思?

1 个答案:

答案 0 :(得分:2)

“看门狗已过期。”可能意味着任何。消息的措辞表明,“本地”GDB(在Mac上运行)GDB超时等待来自“远程”GDB(在手机上运行)的数据。或者,“Watchdog已过期”可能在重新启动前不久来自手机的控制台输出。

如果您在应用运行时断开设备,它会显示什么?如果关闭电源怎么办?如果您发出硬重置(Sleep + Home 10秒)怎么办?

如果它导致设备重启,则会出现严重错误。您的应用不应能够关闭手机,但有时会出现问题(IIRC,某些版本的2.x上的UIImagePickerController有问题导致您的应用被杀或手机会重启,取决于先踢的是什么)。 “大量位图”听起来可能会导致CoreAnimation(或IOSurface或其他)耗尽视频内存。

我会毫不犹豫地在后台线程中进行绘图,除非你非常小心线程安全性(对于第一个近似,CoreAnimation是和UIKit不是除了一些在4.0中“线程安全”的函数之外)。