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