From f45b570cc3bc0d0e0fc65a9065d1a993fa0ed9e9 Mon Sep 17 00:00:00 2001 From: Rex Jolliff Date: Fri, 5 Feb 1999 19:38:30 +0000 Subject: [PATCH] Added symbolic stack dump svn path=/trunk/; revision=210 --- reactos/ntoskrnl/hal/x86/exp.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/hal/x86/exp.c b/reactos/ntoskrnl/hal/x86/exp.c index fb5fabe597c..b09966f5a88 100644 --- a/reactos/ntoskrnl/hal/x86/exp.c +++ b/reactos/ntoskrnl/hal/x86/exp.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -146,7 +147,7 @@ asmlinkage void exception_handler(unsigned int edi, */ { unsigned int cr2; - unsigned int i; + unsigned int i, j, sym; unsigned int* stack; static char *TypeStrings[] = { @@ -242,7 +243,19 @@ asmlinkage void exception_handler(unsigned int edi, if (stack[i] > KERNEL_BASE && stack[i] < ((unsigned int)&etext) ) { - printk("%.8x ",stack[i]); + sym = 0; + for (j = 0; symbol_table[j].name; j++) + { + if (stack[i] >= symbol_table[j].value && + symbol_table[j].value > symbol_table[sym].value) + { + sym = j; + } + } + printk(" %.8x (%s+%d)", + stack[i], + symbol_table[sym].name, + stack[i] - symbol_table[sym].value); } } // #endif