mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 20:43:15 +00:00
- don't include the native frames per default
This commit is contained in:
parent
7785dd1b56
commit
9a2b3792ef
3 changed files with 8 additions and 6 deletions
|
@ -5,4 +5,4 @@
|
|||
|
||||
JitFuncPtr JitCompile(VMScriptFunction *func);
|
||||
void JitDumpLog(FILE *file, VMScriptFunction *func);
|
||||
FString JitCaptureStackTrace(int framesToSkip);
|
||||
FString JitCaptureStackTrace(int framesToSkip, bool includeNativeFrames);
|
||||
|
|
|
@ -982,20 +982,22 @@ FString JitGetStackFrameName(NativeSymbolResolver *nativeSymbols, void *pc)
|
|||
}
|
||||
}
|
||||
|
||||
return nativeSymbols->GetName(pc);
|
||||
return nativeSymbols ? nativeSymbols->GetName(pc) : FString();
|
||||
}
|
||||
|
||||
FString JitCaptureStackTrace(int framesToSkip)
|
||||
FString JitCaptureStackTrace(int framesToSkip, bool includeNativeFrames)
|
||||
{
|
||||
void *frames[32];
|
||||
int numframes = CaptureStackTrace(32, frames);
|
||||
|
||||
NativeSymbolResolver nativeSymbols;
|
||||
std::unique_ptr<NativeSymbolResolver> nativeSymbols;
|
||||
if (includeNativeFrames)
|
||||
nativeSymbols.reset(new NativeSymbolResolver());
|
||||
|
||||
FString s;
|
||||
for (int i = framesToSkip + 1; i < numframes; i++)
|
||||
{
|
||||
s += JitGetStackFrameName(&nativeSymbols, frames[i]);
|
||||
s += JitGetStackFrameName(nativeSymbols.get(), frames[i]);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
|
|
@ -660,7 +660,7 @@ CVMAbortException::CVMAbortException(EVMAbortException reason, const char *morei
|
|||
}
|
||||
|
||||
if (vm_jit)
|
||||
stacktrace = JitCaptureStackTrace(1);
|
||||
stacktrace = JitCaptureStackTrace(1, false);
|
||||
else
|
||||
stacktrace = "";
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue