Loading basic_op/basop32.c +18 −17 Original line number Diff line number Diff line Loading @@ -196,27 +196,28 @@ static Word16 saturate (Word32 L_var1); symbol->SizeOfStruct = sizeof(SYMBOL_INFO); \ module.SizeOfStruct = sizeof(IMAGEHLP_MODULE64); \ \ num_frames = CaptureStackBackTrace(0, 100, call_stack, NULL); \ if (num_frames > 11) num_frames -=8; \ IMAGEHLP_LINE *line_info = \ (IMAGEHLP_LINE *)calloc(sizeof(IMAGEHLP_LINE), 1); \ line_info->SizeOfStruct = sizeof(IMAGEHLP_LINE); \ \ num_frames = CaptureStackBackTrace(0, 200, call_stack, NULL); \ for (i = 0; i < num_frames; ++i) { \ DWORD dwLineDisplacement; \ SymFromAddr(process, (DWORD64)(call_stack[i]), &offset, symbol); \ SymGetModuleInfo(process, (DWORD)symbol->ModBase, &module); \ IMAGEHLP_LINE *supp_info = (IMAGEHLP_LINE *)calloc(sizeof(IMAGEHLP_LINE), 1); \ supp_info->SizeOfStruct = sizeof(IMAGEHLP_LINE); \ DWORD dwLineDisplacement; \ if (SymGetLineFromAddr(process, (DWORD64)(call_stack[i]), &dwLineDisplacement, supp_info)) { \ if (i < 3){ \ if (SymGetLineFromAddr(process, (DWORD64)(call_stack[i]), \ &dwLineDisplacement, line_info)) { \ printf("[BASOP] %i\t%s(%s+0x%llX) [0x%llX] %s:%d\n", i, \ module.ModuleName, symbol->Name, offset, symbol->Address, \ line_info->FileName, line_info->LineNumber); \ } else { \ printf("[BASOP] %i\t%s(%s+0x%llX) [0x%llX]\n", i, module.ModuleName, \ symbol->Name, offset, symbol->Address); \ } else { \ printf("[BASOP] %i\t%s(%s+0x%llX) [0x%llX] %s:%d\n", i, module.ModuleName, \ symbol->Name, offset, symbol->Address, supp_info->FileName, supp_info->LineNumber); \ } \ } \ } \ free(line_info); \ free(symbol); \ } while (0) #else #define PRINT_STACK() \ do { \ Loading Loading
basic_op/basop32.c +18 −17 Original line number Diff line number Diff line Loading @@ -196,27 +196,28 @@ static Word16 saturate (Word32 L_var1); symbol->SizeOfStruct = sizeof(SYMBOL_INFO); \ module.SizeOfStruct = sizeof(IMAGEHLP_MODULE64); \ \ num_frames = CaptureStackBackTrace(0, 100, call_stack, NULL); \ if (num_frames > 11) num_frames -=8; \ IMAGEHLP_LINE *line_info = \ (IMAGEHLP_LINE *)calloc(sizeof(IMAGEHLP_LINE), 1); \ line_info->SizeOfStruct = sizeof(IMAGEHLP_LINE); \ \ num_frames = CaptureStackBackTrace(0, 200, call_stack, NULL); \ for (i = 0; i < num_frames; ++i) { \ DWORD dwLineDisplacement; \ SymFromAddr(process, (DWORD64)(call_stack[i]), &offset, symbol); \ SymGetModuleInfo(process, (DWORD)symbol->ModBase, &module); \ IMAGEHLP_LINE *supp_info = (IMAGEHLP_LINE *)calloc(sizeof(IMAGEHLP_LINE), 1); \ supp_info->SizeOfStruct = sizeof(IMAGEHLP_LINE); \ DWORD dwLineDisplacement; \ if (SymGetLineFromAddr(process, (DWORD64)(call_stack[i]), &dwLineDisplacement, supp_info)) { \ if (i < 3){ \ if (SymGetLineFromAddr(process, (DWORD64)(call_stack[i]), \ &dwLineDisplacement, line_info)) { \ printf("[BASOP] %i\t%s(%s+0x%llX) [0x%llX] %s:%d\n", i, \ module.ModuleName, symbol->Name, offset, symbol->Address, \ line_info->FileName, line_info->LineNumber); \ } else { \ printf("[BASOP] %i\t%s(%s+0x%llX) [0x%llX]\n", i, module.ModuleName, \ symbol->Name, offset, symbol->Address); \ } else { \ printf("[BASOP] %i\t%s(%s+0x%llX) [0x%llX] %s:%d\n", i, module.ModuleName, \ symbol->Name, offset, symbol->Address, supp_info->FileName, supp_info->LineNumber); \ } \ } \ } \ free(line_info); \ free(symbol); \ } while (0) #else #define PRINT_STACK() \ do { \ Loading