Updated: October 28, 2024 |
If your application crashes with a kernel fault, the output tells you what happened at the time of the crash. Here's a sample:
Shutdown[0,0] S/C/F=5/3/3 C/D=fe06601c/fe0fafb0 QNX Version 7.1.0-1.3.0 Release 2021/06/08-17:43:35EDT KSB:808a0000 $URL: http://svn.ott.qnx.com/product/branches/7.1.0/trunk/services/system/ker/timestamp.c $ [0]PID-TID=647179-1 P/T FL=41000400/00040000 state=00 "./nonnull-4.exe" [1]PID-TID=1-2 P/T FL=01019001/0c000000 state=01 "proc/boot/procnto-smp-instr" [2]PID-TID=1-3 P/T FL=01019001/0c000000 state=01 "proc/boot/procnto-smp-instr" [2]ASPACE PID=249868 PF=41400010 "proc/boot/fs-nfs3" [3]PID-TID=1-4 P/T FL=01019001/0c000000 state=01 "proc/boot/procnto-smp-instr" [3]ASPACE PID=249868 PF=41400010 "proc/boot/fs-nfs3" armle context[fe065368]: 0000: 00000000 0000004c 1b4c9044 1b4c8f88 1b4c9038 5a07cde4 1b4c9034 1b4c9004 0020: 5a07ce62 00000000 45b5be78 00000000 1b4c8f9c 5a07cdc8 1b4c66b8 1b4c65f4 0040: 60000030 instruction[1b4c65f4]: f8 29 00 00 6e 2a 00 00 50 00 00 00 4c 00 00 00 44 00 00 00 48 00 00 00 40 00 stack[5a07cdc8]: 0000:>1b4c900c 00000001 5a07cde4 5a07cdec 45c06df4 1b4c66b8 00000001 5a07ce62 0020: 00000000 5a07ce72 5a07ce84 00000000 00000003 1b4c6034 00000004 00000020 0040: 00000005 00000009 00000009 1b4c6614 00000006 00001000 00000007 45b2e000 0060: 0000002d 00000802 0000002e c0000034 0000002f 5a07cefb 0000002b 168bb8f6
To find out what happened, search signal.h for the signal code. This tells you the name of the signal. Then, look in siginfo.h for the signal name. In this example, code 11 in signal.h is a SIGSEGV; in siginfo.h, code 1 in the SIGSEGV section is:
SEGV_MAPERR 1 // Address not mapped
See also the entry for siginfo_t in the QNX Neutrino C Library Reference.