anjiahao1 opened a new pull request #5836:
URL: https://github.com/apache/incubator-nuttx/pull/5836


   this is a tool,when crash help you to debug.
   Signed-off-by: anjiahao <anjia...@xiaomi.com>
   
   ## introduce
   
   This tool can help you analyze the call stack information when the system 
crashes
   
   ## principle
   
   After the ELF file and crash log file are processed by the python script, a 
gdb server is established, and gdb is used to connect to the gdb server for 
debugging
   
   ## usage
   
   ### first
   save crash log,like this:
   `[   38.995788] [27] [ EMERG] [ap] arm_registerdump: R0: 00000002 R1: 
3c4927c4 R2: 3c480684  R3: 3c4927c4
   [   38.996961] [27] [ EMERG] [ap] arm_registerdump: R4: 3c49fbc0 R5: 
3c492718 R6: 000000e0  FP: 3c49fbc0
   [   38.998134] [27] [ EMERG] [ap] arm_registerdump: R8: 3c49fc30 SB: 
00000001 SL: 00000001 R11: 00000000
   [   38.999306] [27] [ EMERG] [ap] arm_registerdump: IP: 00020040 SP: 
3c49fba0 LR: 2c5198ef  PC: 2c54468a
   [   39.000479] [27] [ EMERG] [ap] arm_registerdump: xPSR: 210f0000 BASEPRI: 
00000080 CONTROL: 00000004
   [   39.001599] [27] [ EMERG] [ap] arm_registerdump: EXC_RETURN: ffffffa8
   [   39.002398] [27] [ EMERG] [ap] arm_dump_stack: IRQ Stack:
   [   39.003091] [27] [ EMERG] [ap] arm_dump_stack: sp:     3c411318
   [   39.003838] [27] [ EMERG] [ap] arm_dump_stack:   base: 3c410bd8
   [   39.004584] [27] [ EMERG] [ap] arm_dump_stack:   size: 00000800
   [   39.010928] [27] [ EMERG] [ap] arm_stackdump: 3c411300: 00000001 2001125c 
3c411318 201dff00 000004e0 2c5440c3 00000001 00000004
   [   39.011088] [27] [ EMERG] [ap] arm_stackdump: 3c411320: 2c54468a 2c52e905 
3c40a7e8 3c27a0c0 2c53ef71 3c3fb23c 00000009 00000000
   [   39.011247] [27] [ EMERG] [ap] arm_stackdump: 3c411340: 00000000 2c530223 
3c41135b 2c52c797 0000001f 2c52c87f 1f000000 00000000
   [   39.011354] [27] [ EMERG] [ap] arm_stackdump: 3c411360: 00000000 3c3f02a8 
0000000c 3c438a08 201dff00 2c53ea2d 2c53ea09 2c7f6aa1
   [   39.011567] [27] [ EMERG] [ap] arm_stackdump: 3c411380: e0001000 00000027 
3c409510 00057a45 00000000 00057a4b e0001000 2c516a99
   [   39.012953] [27] [ EMERG] [ap] arm_stackdump: 3c4113a0: 00000000 00000000 
201dff00 00000027 2001125c 2001105c 20011230 200111ec
   [   39.014393] [27] [ EMERG] [ap] arm_dump_stack: User Stack:
   [   39.015086] [27] [ EMERG] [ap] arm_dump_stack: sp:     3c49fba0
   [   39.015832] [27] [ EMERG] [ap] arm_dump_stack:   base: 201df418
   [   39.016578] [27] [ EMERG] [ap] arm_dump_stack:   size: 00000be8
   [   39.017325] [27] [ EMERG] [ap] arm_dump_stack: ERROR: User Stack pointer 
is not within the stack
   [   39.023988] [27] [ EMERG] [ap] arm_stackdump: 201df400: 3c449f58 00000000 
00000000 00000000 00000000 00000002 deadbeef deadbeef
   [   39.024148] [27] [ EMERG] [ap] arm_stackdump: 201df420: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.024308] [27] [ EMERG] [ap] arm_stackdump: 201df440: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.024468] [27] [ EMERG] [ap] arm_stackdump: 201df460: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.024681] [27] [ EMERG] [ap] arm_stackdump: 201df480: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.026067] [27] [ EMERG] [ap] arm_stackdump: 201df4a0: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.027506] [27] [ EMERG] [ap] arm_stackdump: 201df4c0: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.028946] [27] [ EMERG] [ap] arm_stackdump: 201df4e0: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.030385] [27] [ EMERG] [ap] arm_stackdump: 201df500: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.031824] [27] [ EMERG] [ap] arm_stackdump: 201df520: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.033264] [27] [ EMERG] [ap] arm_stackdump: 201df540: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.034703] [27] [ EMERG] [ap] arm_stackdump: 201df560: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.036142] [27] [ EMERG] [ap] arm_stackdump: 201df580: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef
   [   39.037581] [27] [ EMERG] [ap] arm_stackdump: 201df5a0: deadbeef deadbeef 
deadbeef deadbeef deadbeef deadbeef deadbeef deadbeef`
   
   save a file, `log`
   
   ### second
     use `./minidumpserver.py -l log -e nuttx` log is you saved crash log, 
nuttx is your elf file.
   ### third
     use gdb to connect gdb server
    arm-none-eabi-gdb nuttx -ex "target remote 127.0.0.1:1234"


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to