Translating the error log

I have an error that only pops-up on occasion after my watch has been separated from my phone for a while.  I am looking at the error log on the watch and I get the ‘Failed invoking <symbol>’ in the Details.  In the Stack, it gives me a pc: 0x10015b2.  I know from this old Discussion (https://forums.garmin.com/developer/connect-iq/f/discussion/7781/failed-invoking-symbol#pifragment-1298=1) that I should be able to track that location down.  “Should.”  How do I find the actual line this corresponds to with VS Code? I do not see how I get the Debug.xml file within the .IQ program referenced in the old discussion.

Thanks 

  • If it's an app you uploaded to the store, and you still have the .IQ file that was built for that version, debug.xml is inside the .IQ file.

    - The .IQ file is just a zip file, so you can unzip it with any tool that supports zip files (including built-in Windows or Mac functionality, if you rename the extension to .ZIP)

    - At the top level, the IQ file contains folders for each (software) part number that was built

    - debug.xml will be located in the part number folder which corresponds to your device

    How to determine the part number for your device:

    - If you live outside of Asia, your part number will typically be the first one in the partNumbers array in compiler.json for the corresponding CIQ device. However, this is not true for certain devices / variants (like Tactix 7 or Enduro 2)

    - run an app on your device which displays DeviceSettings.partNumber

    - look at the result of this JSON API which maps software part numbers to device models: https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes

    Alternatively, if it's a sideload, the *.debug.xml file will be in your project's bin/ folder. If you're running an old build which is no longer available, you'll have to revert to the source code for that build and use the same SDK version / compiler as before (this could be tricky if device files have been subsequently updated).

    Ofc, either way, it might be easier to just build the app again.