fix:backtrace严重BUG

Signed-off-by: houpengfei <houpengfei@talkweb.com.cn>
This commit is contained in:
houpengfei 2022-01-17 20:35:04 +08:00
parent 10fd031b09
commit 566f46dee2
12 changed files with 48 additions and 0 deletions

View File

@ -316,6 +316,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->spsr); PRINTK("xPSR = 0x%x\n", excInfo->context->spsr);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -332,6 +333,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -381,7 +383,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();
#endif #endif

View File

@ -378,6 +378,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -394,6 +395,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -443,7 +445,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -368,6 +368,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -384,6 +385,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -433,7 +435,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -368,6 +368,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -384,6 +385,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -433,7 +435,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -376,6 +376,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -392,6 +393,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -441,7 +443,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -376,6 +376,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -392,6 +393,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -441,7 +443,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -373,6 +373,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -389,6 +390,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -438,7 +440,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -379,6 +379,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -395,6 +396,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -444,7 +446,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -368,6 +368,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -384,6 +385,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -433,7 +435,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -375,6 +375,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR); PRINTK("xPSR = 0x%x\n", excInfo->context->uwxPSR);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -391,6 +392,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -440,7 +442,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcNvicDump(); OsExcNvicDump();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();

View File

@ -442,6 +442,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
excContext->EPC); excContext->EPC);
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -458,6 +459,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -507,7 +509,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();
#endif #endif

View File

@ -428,6 +428,7 @@ STATIC VOID OsExcRegInfo(const ExcInfo *excInfo)
} }
} }
#if (LOSCFG_KERNEL_BACKTRACE == 1)
STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo) STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
{ {
UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0}; UINTPTR LR[LOSCFG_BACKTRACE_DEPTH] = {0};
@ -444,6 +445,7 @@ STATIC VOID OsExcBackTraceInfo(const ExcInfo *excInfo)
} }
PRINTK("----- backtrace end -----\n"); PRINTK("----- backtrace end -----\n");
} }
#endif
STATIC VOID OsExcMemPoolCheckInfo(VOID) STATIC VOID OsExcMemPoolCheckInfo(VOID)
{ {
@ -493,7 +495,9 @@ STATIC VOID OsExcInfoDisplay(const ExcInfo *excInfo)
OsExcTypeInfo(excInfo); OsExcTypeInfo(excInfo);
OsExcCurTaskInfo(excInfo); OsExcCurTaskInfo(excInfo);
OsExcRegInfo(excInfo); OsExcRegInfo(excInfo);
#if (LOSCFG_KERNEL_BACKTRACE == 1)
OsExcBackTraceInfo(excInfo); OsExcBackTraceInfo(excInfo);
#endif
OsGetAllTskInfo(); OsGetAllTskInfo();
OsExcMemPoolCheckInfo(); OsExcMemPoolCheckInfo();
#endif #endif