ERROR Handling

I published a new data field that failed several hours into an activity yesterday with the "IQ" image. "Error: Invalid Value, Details: 'Failed invoking <symbol>'". Not sure why yet - I need to reproduce it with some prinln LOG writes to pinpoint the code section.

Two questions....

1. Sometimes the CIQ_LOG.YML file contains more info like the exact line in the code that triggered the error, along with the offending variable or method call stack. Most of the time it doesn't have these extra details. Under what conditions does it produce this info?

2. I assumed one a DF fails with the IQ image, it is done. But continuing my activity viewing different screens of data, I swiped back to that aborted DF screen and it was running again! Weird. Almost like the device has an internal watchdog timer and restarts the failed DF after 30 mins or so? Does that make sense? Why/how would the DF start working again. I did not reboot my Edge 820 device.
  • 1. You get more info in ciq_log.txt/ciq_log.yml with a debug build than a release build. Apps in the store are always release builds. With the "build for device wizard", there's a checkbox for debug/release. Based on the data you see (like a pc) You can use that along with the debug.xml to get more info. Starting with the 3.0.x SDKs, the debug.xml file for each target is in the .iq file when you export for the store (the .iq is really just a .zip file so you can open it as such). The pc in the CIQ_LOG is in hex, while debug.xml is decimal, so you just need to convert to see what the pc maps to in debug.xml

    2. I suspect when you left the screen and came back it restarted the DF as it wasn't running. But what I've typically seen is if the DF crashes, it will get replaced with the timer.