宕机调试

1、Linux下的段错误(Segmentation-fault)产生的原因及调试方法(经典)

Linux下的段错误(Segmentation-fault)产生的原因及调试方法(经典).zip

2、addr2line通过elf调试文件追踪宕机代码

eg: intel curie死机故障定位

BOOT


Quark SE ID 16 Rev 0 A0
ARC Core state: 00004000
    11121|QRK|QKSE| INFO| USB INIT
    11171|QRK| USB| INFO| USB plugged
    11237|QRK|MAIN| INFO| BSP init done
    11238|QRK| CFW| INFO| BLE service init in progress...
    11239|QRK| CFW| INFO| GPIO service init in progress...
    11243|QRK|CHGR| INFO| Charging state: DISCHARGE
    11243|QRK| DRV| INFO| charger_config function not implemented
    11243|QRK| CFW| INFO| battery service init in progress...
    11247|QRK| CFW| INFO| circular_storage service init in progress...
    11247|QRK| CFW| INFO| ll_storage service init in progress...
    11258|QRK| CFW| INFO| properties service init in progress...
    11258|QRK|MAIN| INFO| CFW init done
    11258|QRK|  IQ| INFO| all iq initialization completed
    11259|QRK| BLE| INFO| setting up MIS 's LL_STORAGE_SERVICE.
    11259|QRK|MAIN| INFO| SENSING service init in progress...
    12772|QRK|CHGR| INFO| Charging state: FAULT
    12780|QRK| BLE| INFO| ble_enable: state 1
    12786|QRK| BLE| INFO| Registering GAP
    12787|QRK| BLE| INFO| Registering DIS
    12790|QRK| BLE| INFO| Registering BAS
    12791|QRK| BLE| INFO| Registering SHOES
    12791|QRK| BLE| INFO| Registering MIS
    12794|QRK| BLE| INFO| Registering ISPP
    12794|QRK| BLE| INFO| ble_enable_rsp: addr/type: 84:68:3e:00:7a:96/0
    12801|QRK|[W] | INFO| data check error
    12801|QRK|[D] | INFO| mible_init -- done
    12817|QRK|MAIN| INFO| Device not bonded
    12817|QRK|MAIN| INFO| advertise_start: reason:0x0
    11232|ARC|MAIN| INFO| BSP init done
    11238|ARC| CFW| INFO| ADC service init in progress...
    11238|ARC| CFW| INFO| GPIO service init in progress...
    11238|ARC| CFW| INFO| GPIO service init in progress...
    11366|ARC| CFW| INFO| SS service init in progress...
    11366|ARC|MAIN| INFO| CFW init done

PANIC for 0 (dump located on 0xa800e000)
QRK BUILD CKSUM: 337e35cf
QRK BUILD VERSION: 00000001
QRK PANIC (2, 0x00000000) - EIP=0x4002be78 - ESP=0xa800b9a0

Registers:

cr2:   00000000
edi:   00000000
esi:   00000000
ebx:   000005eb
ebp:   a800b9a0
edx:   00004e9a
ecx:   ffffffff
eax:   000005eb
error: 00000000
cs:    40020008
flags: 00000206
ss:    00000010

Stack:

0xa800b9a0: a800b9ac 4002acd8 4002acdc a800b9b8
0xa800b9b0: 4002a885 00000000 00000202 00000000
0xa800b9c0: 00000000 00000200 a800bd74 00000000
0xa800b9d0: add3ca5b 7f274dbb 8ebcbffc f9fcebcf
0xa800b9e0: 1b25046e 08450000 e4027308 a21c50ad
0xa800b9f0: 320e0ce7 50864610 4d14c444 82498c81
0xa800ba00: d1f55f4b bdeef79e fc7bba74 3337cf6f
0xa800ba10: 67f7cfbf edc872c6 d0cbffd0 3f9ff7a9
0xa800ba20: 090d2000 285b4159 a5a0c210 1b84a48b
0xa800ba30: 09513ac5 823a5d70 501c9500 a0842082

PANIC for 1 (dump located on 0xa8014000)
ARC BUILD CKSUM: 2002c655
ARC BUILD VERSION: 00000001
ARC PANIC - eret=0x40045cac - sp=0x80001438

Registers:

 r0:00000001  r1:00000015  r2:00000000  r3:00000000
 r4:a8010964  r5:00000000  r6:00000332  r7:a8010028
 r8:00000332  r9:fffffc01 r10:0000000c r11:00000009
r12:b0800a10 r13:ffffffff r14:00000000 r15:7fffffff
r16:0000003f r17:a800f208 r18:a8010148 r19:fffffffe
r20:00000000 r21:400414f2 r22:00000001 r23:a8010f14
r24:a801027c r25:a800eac8  gp:4003b932 fp:a800eac8
 sp:80001438  il:40045cac r30:00000000  bl:400350c4

Status registers:

      ecr:00000000
      efa:00000000
     eret:40045cac
 erstatus:00000000

Stack:

0x80001438: 40040930 ffffffff ffffffff 4003464e
0x80001448: 400460f2 40046124 71140050 8342c25c
0x80001458: 2c1d1da8 10c76340 df21f79d f8dfff73
0x80001468: 5fcde8ec bf7f3f7f 019a99a2 4405201a
0x80001478: d09300a1 33081909 cf97e7fd ff5f5d6d
0x80001488: 33e5f6f7 ffcff330 92908701 75250830
0x80001498: 09525360 d4201590 e61d125b 76fbfe76
0x800014a8: fb6d95bd fef73ef3 000025b2 1cf849c5
0x800014b8: 22152470 e4008021 e4ceffa1 93f15a59
0x800014c8: ee46dced b7d6fbff 20040625 95d26842
curie@ubuntu:~/b/device/out$ ../wearable_device_sw/external/toolchain/tools/compiler/gcc-ia/5.2.1/bin/i586-intel-elfiamcu-addr2line -e firmware/quark.elf -a 40040930
原文地址:https://www.cnblogs.com/dong1/p/6422404.html