added another system.getStackTrace

This commit is contained in:
Araq 2012-05-20 18:42:50 +02:00
commit 29b63be980
2 changed files with 14 additions and 0 deletions

View file

@ -194,6 +194,9 @@ proc quitOrDebug() {.inline.} =
proc raiseException(e: ref E_Base, ename: CString) {.compilerRtl.} =
e.name = ename
when hasSomeStackTrace:
e.trace = ""
rawWriteStackTrace(e.trace)
if localRaiseHook != nil:
if not localRaiseHook(e): return
if globalRaiseHook != nil:
@ -253,6 +256,12 @@ proc getStackTrace(): string =
else:
result = "No stack traceback available\n"
proc getStackTrace(e: ref E_Base): string =
if not isNil(e) and not isNil(e.trace):
result = e.trace
else:
result = ""
when defined(endb):
var
dbgAborting: bool # whether the debugger wants to abort