OS/2, eCS & ArcaOS - Technical > Programming
Only short exceptq report although .xqs file was there, why?
Andi B.:
I see an application crash but only this short exceptq report
--- Code: ---______________________________________________________________________
Exception Report - created 2022/01/21 14:28:40
______________________________________________________________________
Hostname: NUC-J3160
OS2/eCS Version: 2.45
# of Processors: 4
Physical Memory: 2994 mb
Virt Addr Limit: 2048 mb
Exceptq Version: 7.11.5-shl BETA8 (Jun 1 2020 18:37:02)
______________________________________________________________________
Exception C0000005 - Access Violation
______________________________________________________________________
Process: P:\UTIL\PCM9362_ANETCOM.EXE (07/17/2020 16:00:11 121,227)
PID: 78 (120)
TID: 02 (2)
Priority: 200
Filename: P:\UTIL\PCM9362_ANETCOM.EXE (07/17/2020 16:00:11 121,227)
Address: 005B:0002ADA6 (0002:0000ADA6)
Cause: Attempted to read from 00000000
(not a valid address)
--- End code ---
No more data.
As stated in the docs there is the matching xqs file in the same directory -
--- Code: ---{0}[p:\util] dir pcm*
Volume in drive P is Apps Serial number is 92FC:A5C3
Directory of P:\util\pcm*
17.07.20 16.00 121.227 0 ___A_ PCM9362_AnetCom.exe
17.07.20 15.59 11.662 0 ___A_ PCM9362_AnetCom.xqs
132.889 bytes in 2 files and 0 dirs
135.168 bytes allocated
18.281.160.704 bytes (17GB) free
{0}[p:\util]
--- End code ---
At the same time there was a popuplog.os2 entry written -
--- Code: ---------------------------------------------------------------
01-21-2022 14:28:40 SYS3171 PID 0078 TID 0002 Slot 00a8
P:\UTIL\PCM9362_ANETCOM.EXE
c0000005
0002ada6
P1=00000001 P2=00000000 P3=XXXXXXXX P4=XXXXXXXX
EAX=01000e48 EBX=01000b20 ECX=0000000a EDX=00000014
ESI=01000b20 EDI=00ffffec
DS=0053 DSACC=d0f3 DSLIM=7fffffff
ES=0053 ESACC=d0f3 ESLIM=7fffffff
FS=150b FSACC=00f3 FSLIM=00000030
GS=0000 GSACC=**** GSLIM=********
CS:EIP=005b:1dc6058c CSACC=d0df CSLIM=7fffffff
SS:ESP=0053:00ffffec SSACC=d0f3 SSLIM=7fffffff
EBP=01000b90 FLG=00010206
PCM9362_ANETCOM.EXE 0002:0000ada6
--- End code ---
I didn't see traps in this application since a long time and considered it quite stable. At the same time it wrote the usual message in it's log file so I guess it's some problem in the serial communication library I use. But the question here is not why my program crashes, I'm wondering why the exceptq report is not that helpful as usual. Any hints?
Lars:
I don't know what the .XQS files are for or what they do but nowadays I find .DBG files. Looking into them, they obviously contain the stripped debug info. I would expect that you need these files if you want to have source file and linenumber information printed out in your EXCEPTQ report.
Can you build your app, strip the debug info and have that placed into a .DBG file with the same filestem as your executable binary ?
Lars:
It's something like this:
emxomfstrip -D PCM9362_AnetCom.dbg PCM9362_AnetCom.exe
or, if you want to remove the debug info from the exe and only have it in the .DBG file:
emxomfstrip -D PCM9362_AnetCom.dbg -o PCM9362_AnetCom.exe PCM9362_AnetCom.exe (I believe)
Andi B.:
Edit: thanks for your info which answers my question below.
How do I make a .dbg file with watcom?
Exceptq accepts the following -
--- Code: ---Exceptq searches for debug data in the following order:
embedded debug data
.dbg file
.xqs file
.sym file
--- End code ---
I create the .xqs file from the mapfile with 'mapxqs $*.map'
--- Code: ---{0}[p:\usr\share\doc\exceptq-7.11.5] mapxqs
mapxqs v1.04a - (C)2010-2011 R L Walsh
Creates .xqs symbol files from IBM, Watcom, and Borland .map files.
Usage: mapxqs [-options] [optional_files] mapfile[.map]
General options:
-o specify output file (default: *.xqs)
-l create a listing of symbols (default: *.xql)
-m omit module file names (default: include module info)
Demangler options:
-g use builtin GCC demangler (default)
-v use VAC demangler (requires demangl.dll)
-n don't demangle symbols
Other options:
-d dump symbols in *.xqs to *.xql (example: mapxqs -d file.xqs)
note: -o is the only option that can be used with -d
--- End code ---
Andi B.:
Looking at the map file I see at the failing address watcoms MemAllocator -
--- Code: ---Module: P:\watcom/lib386/os2\clib3r.lib(nmemneed.c)
0002:0000ad60 __nmemneed_
Module: P:\watcom/lib386/os2\clib3r.lib(mem.c)
0002:0000ad70 __MemAllocator
0002:0000ae20 __MemFree
Module: P:\watcom/lib386/os2\clib3r.lib(grownear.c)
--- End code ---
Seems a bit strange to me. Puzzling....
Navigation
[0] Message Index
[#] Next page
Go to full version