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