应用程序崩溃并显示“看门狗已过期”。信息。没有堆栈跟踪或崩溃转储 [英] App crashes with "Watchdog has expired." message. No stack trace or crash dump

查看:451
本文介绍了应用程序崩溃并显示“看门狗已过期”。信息。没有堆栈跟踪或崩溃转储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

 看门狗已过期。远程设备已断开连接?调试会话终止。 

调试器由于信号15(SIGTERM)而退出。调试器因信号15(SIGTERM)而退出。

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



看门狗已过期。消息是否相关?还是这仅仅是调试器在崩溃时失去与应用程序的联系的人造物?



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

解决方案

看门狗已过期。可能表示任何内容。消息的措词方式表明,本地 GDB(在Mac上运行)GDB等待来自远程 GDB(在电话上运行)的数据超时。另外,看门狗已过期可能是在重新启动手机之前不久从手机的控制台输出。



如果在应用运行时断开设备的连接,会显示什么?如果关闭电源怎么办?如果您执行硬重置(睡眠+居家10秒钟)怎么办?



如果这导致设备重新启动,则表示发生了严重的错误。您的应用不应该能够将手机放下,但有时会漏掉一些东西(某些版本2.x上的IIRC,UIImagePickerController出现了一个问题,即您的应用会被杀死或手机会重新启动,具体取决于哪个先启动)。 大的位图集听起来可能导致CoreAnimation(或IOSurface或其他)用完了视频内存。线程,除非您对线程安全性非常小心(最近似的情况是,CoreAnimation是UIKit,而UIKit只是在4.0中成为线程安全的几个函数)。


My app is crashing with the following message in the Xcode debugger:

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).

The crash is quite severe and reboots the device most of the time. The debugger just exits and I get no crash log afterwards.

Is the "Watchdog has expired." message relevant at all? Or is this just an artifact of the debugger loosing touch with the app when it crashes?

If it is relevant, what does it mean?

解决方案

"Watchdog has expired." could mean anything. The way the message is worded suggests that the "local" GDB (running on your Mac) GDB timed out waiting for data from the "remote" GDB (running on the phone). Alternatively, "Watchdog has expired" might be from the phone's console output shortly before it reboots.

What does it display if you disconnect the device while your app is running? What if you power it off? What if you issue a hard reset (Sleep+Home for 10 seconds)?

If it's causing the device to reboot, there's something seriously wrong happening. Your app shouldn't be able to take the phone down, but sometimes something slips through (IIRC, UIImagePickerController on some version of 2.x had a problem where either your app would get killed or the phone would reboot, depending on which kicked in first). "Large set of bitmaps" sounds like it might be causing CoreAnimation (or IOSurface or whatever) to run out of video memory.

I would hesitate to do drawing in a background thread unless you're very careful about thread-safety (to a first approximation, CoreAnimation is and UIKit isn't except a few functions that were made "thread-safe" in 4.0).

这篇关于应用程序崩溃并显示“看门狗已过期”。信息。没有堆栈跟踪或崩溃转储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆