I have noticed that even when I build my WF in 'release' mode, a '<app name>.prg.debug.xml' file is still generated, and that file contains - among other things - a 'pcToLineNum' node/sub-tree.
And I am trying to troubleshoot an issue, which - funnily - only takes place when I run a 'release' build:
1. built+side-loaded a release build, then sometime during the night the WF crashed and the default Garmin WF was used instead
2. built+side-loaded a debug build, several days no issues/crashes
3. built+side-loaded a release build again, and again sometime during the night the WF crashed and the default Garmin WF was used inste
so in an attempt to debug w/the 'release' build info, I took a look at the CIQ_LOG.BAK:
Stack:
- pc: 0x10000824
- pc: 0x10004602
- pc: 0x10004549
- pc: 0x100049ec
then tried to map any of those 'pc' entries to those in <app name>.prg.debug.xml, but there was no matching 'pc' entry in <app name>.prg.debug.xml to any of the above;
I have then tried to convert the 'pc' values in CIQ_LOG.BAK to decimal-base (since they seem to be hex-based, while those in <app name>.prg.debug.xml seem to be decimal-based), but then I only got a partial match, e.g. applying hex-to-dec conversion on 0x10000824 from CIQ_LOG.BAK yields 268437540 in dec-base, but then when I try to match it against 'pc' entries in <app name>.prg.debug.xml only the first 7 chars have a match (in fact SEVERAL matches), while none fully matches:
<app name>.prg.debug.xml:
+-debugInfo
+-pcToLineNum: entry filename=...someFile1.mc" id="24" lineNum="26" parent=... pc="268437508" symbol=.../> entry filename=...someFile2.mc" id="25" lineNum="14" parent=... pc="268437520" symbol=.../> entry filename=...someFile2.mc" id="25" lineNum="15" parent=... pc="268437530" symbol=.../> entry filename=...someFile2.mc" id="26" lineNum="20" parent=... pc="268437551" symbol=.../> entry filename=...someFile2.mc" id="26" lineNum="21" parent=... pc="268437561" symbol=.../> entry filename=...someFile2.mc" id="27" lineNum="44" parent=... pc="268437575" symbol=.../> entry filename=...someFile2.mc" id="27" lineNum="50" parent=... pc="268437586" symbol=.../>
Any tips/pointers would be appreciated.
P.s. I use '--optimization 3pz' for both debug/release
P.s.2 it might be coincidence, but if I recall the crash issue started after I have switched my builds from '--typecheck 0' to '--typecheck 2' and adjusted all my codebase; and to my understanding this should not matter since all the 'type'-related info gets stripped/removed, but perhaps the typecheck has some side-effects ?