views:

48

answers:

1

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?

+1  A: 

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

tc.
"What does it display if you disconnect the device while your app is running?" ... yup, that's a pretty easy experiment :) ... just unplugging the device produces the same message. The "Watchdog has expired" message is irrelevant, it's just what the debugger spits out when the app crashes.
Josh Knauer