fixes #10104
This commit is contained in:
parent
d740a5b79a
commit
0c10fc67eb
1 changed files with 12 additions and 6 deletions
|
|
@ -85,7 +85,7 @@ proc stackTraceAux(c: PCtx; x: PStackFrame; pc: int; recursionLimit=100) =
|
||||||
add(s, x.prc.name.s)
|
add(s, x.prc.name.s)
|
||||||
msgWriteln(c.config, s)
|
msgWriteln(c.config, s)
|
||||||
|
|
||||||
proc stackTrace(c: PCtx, tos: PStackFrame, pc: int,
|
proc stackTraceImpl(c: PCtx, tos: PStackFrame, pc: int,
|
||||||
msg: string, lineInfo: TLineInfo) =
|
msg: string, lineInfo: TLineInfo) =
|
||||||
msgWriteln(c.config, "stack trace: (most recent call last)")
|
msgWriteln(c.config, "stack trace: (most recent call last)")
|
||||||
stackTraceAux(c, tos, pc)
|
stackTraceAux(c, tos, pc)
|
||||||
|
|
@ -93,8 +93,14 @@ proc stackTrace(c: PCtx, tos: PStackFrame, pc: int,
|
||||||
if c.mode == emRepl: globalError(c.config, lineInfo, msg)
|
if c.mode == emRepl: globalError(c.config, lineInfo, msg)
|
||||||
else: localError(c.config, lineInfo, msg)
|
else: localError(c.config, lineInfo, msg)
|
||||||
|
|
||||||
proc stackTrace(c: PCtx, tos: PStackFrame, pc: int, msg: string) =
|
template stackTrace(c: PCtx, tos: PStackFrame, pc: int,
|
||||||
stackTrace(c, tos, pc, msg, c.debug[pc])
|
msg: string, lineInfo: TLineInfo) =
|
||||||
|
stackTraceImpl(c, tos, pc, msg, lineInfo)
|
||||||
|
return
|
||||||
|
|
||||||
|
template stackTrace(c: PCtx, tos: PStackFrame, pc: int, msg: string) =
|
||||||
|
stackTraceImpl(c, tos, pc, msg, c.debug[pc])
|
||||||
|
return
|
||||||
|
|
||||||
proc bailOut(c: PCtx; tos: PStackFrame) =
|
proc bailOut(c: PCtx; tos: PStackFrame) =
|
||||||
stackTrace(c, tos, c.exceptionInstr, "unhandled exception: " &
|
stackTrace(c, tos, c.exceptionInstr, "unhandled exception: " &
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue