libs/dumpstack: add support for print symbol name
ap> mw -1 [ EMERG] arm_usagefault: PANIC!!! Usage Fault: [ EMERG] arm_usagefault: IRQ: 6 regs: 0x3c24fa48 [ EMERG] arm_usagefault: BASEPRI: 000000e0 PRIMASK: 00000000 IPSR: 00000006 CONTROL: 00000004 [ EMERG] arm_usagefault: CFSR: 01000000 HFSR: 00000000 DFSR: 00000000 BFAR: 40101000 AFSR: 00000000 [ EMERG] arm_usagefault: Usage Fault Reason: [ EMERG] arm_usagefault: Unaligned access [ EMERG] up_assert: Assertion failed at file:armv8-m/arm_usagefault.c line: 113 task: init [ EMERG] backtrace|10: 0x2c325bde 0x2c319b98 0x2c3261cc 0x2c316b20 0x2c32699c 0x2c303a50 0x2c326072 0x2c3206ea [ EMERG] backtrace|10: 0x2c3428cc 0x2c33ed14 0x2c342e8e 0x2c34403a 0x2c344ac0 0x2c319b60 0x2c3080ba [ EMERG] [10][ 0] [<0x2c325bde>] up_backtrace+0xa/0x13c [ EMERG] [10][ 1] [<0x2c319b98>] sched_dumpstack+0x10/0xc0 [ EMERG] [10][ 2] [<0x2c3261cc>] up_assert+0x48/0x414 [ EMERG] [10][ 3] [<0x2c316b20>] _assert+0x4/0x10 [ EMERG] [10][ 4] [<0x2c32699c>] arm_usagefault+0xa8/0x138 [ EMERG] [10][ 5] [<0x2c303a50>] irq_dispatch+0x1c/0x40 [ EMERG] [10][ 6] [<0x2c326072>] arm_doirq+0x1a/0x2c [ EMERG] [10][ 7] [<0x2c3206ea>] exception_common+0x4a/0xac [ EMERG] [10][ 8] [<0x2c3428cc>] cmd_mw+0xec/0x11c [ EMERG] [10][ 9] [<0x2c33ed14>] nsh_parse_command+0x684/0xcf0 [ EMERG] [10][10] [<0x2c342e8e>] nsh_session+0x92/0x168 [ EMERG] [10][11] [<0x2c34403a>] nsh_consolemain+0x1e/0x38 [ EMERG] [10][12] [<0x2c344ac0>] nsh_main+0x30/0x50 [ EMERG] [10][13] [<0x2c319b60>] nxtask_startup+0x40/0x68 [ EMERG] [10][14] [<0x2c3080ba>] nxtask_start+0x46/0x60 Signed-off-by: chao.an <anchao@xiaomi.com>
This commit is contained in:
parent
20bbdd0997
commit
7f2c5be07a
@ -23,6 +23,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/allsyms.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
@ -52,8 +53,10 @@
|
||||
void sched_dumpstack(pid_t tid)
|
||||
{
|
||||
FAR void *address[DUMP_DEPTH];
|
||||
#ifndef CONFIG_ALLSYMS
|
||||
char line[DUMP_LINESIZE + 1];
|
||||
int ret = 0;
|
||||
#endif
|
||||
int size;
|
||||
int i;
|
||||
|
||||
@ -63,6 +66,7 @@ void sched_dumpstack(pid_t tid)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_ALLSYMS
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
ret += snprintf(line + ret, sizeof(line) - ret,
|
||||
@ -73,4 +77,12 @@ void sched_dumpstack(pid_t tid)
|
||||
ret = 0;
|
||||
}
|
||||
}
|
||||
#else
|
||||
syslog(LOG_EMERG, "backtrace:\n");
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
syslog(LOG_EMERG, "[%2d] [<%p>] %pS\n",
|
||||
tid, address[i], address[i]);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user