|
@@ -48,8 +48,38 @@ if call_trace_enabled ! 0 and call_trace_manual = 0:
|
|
|
killvar 'call_trace_index'
|
|
|
|
|
|
$call_trace += $call_trace_line + '<br>'
|
|
|
+ killvar '$call_trace_line'
|
|
|
if call_trace_shown ! 0: gs 'stat_display'
|
|
|
end
|
|
|
|
|
|
+!! MANUAL CALL TRACE SNIPPET
|
|
|
+!? Why use manual call trace:
|
|
|
+! - auto mode doesnt catch `gs` calls, manual does
|
|
|
+!? HOWTO use:
|
|
|
+! - put it at the head of the location you want to debug
|
|
|
+! set location name (if you want it to make sense and look nice)
|
|
|
+
|
|
|
+! {
|
|
|
+call_trace_manual = 1
|
|
|
+$call_trace_line = "'PUT LOC NAME HERE'"
|
|
|
+
|
|
|
+call_trace_index = 0
|
|
|
+:call_trace_loop
|
|
|
+if call_trace_index < arrsize("$ARGS"):
|
|
|
+ if $ARGS[call_trace_index] ! '':
|
|
|
+ $call_trace_line += ", '<<$ARGS[call_trace_index]>>'"
|
|
|
+ else
|
|
|
+ $call_trace_line += ", <<ARGS[call_trace_index]>>"
|
|
|
+ end
|
|
|
+ call_trace_index += 1
|
|
|
+ jump 'call_trace_loop'
|
|
|
+end
|
|
|
+killvar 'call_trace_index'
|
|
|
+
|
|
|
+$call_trace += $call_trace_line + '<br>'
|
|
|
+killvar '$call_trace_line'
|
|
|
+if call_trace_shown ! 0: gs 'stat_display'
|
|
|
+}
|
|
|
+
|
|
|
--- LOCA ---------------------------------
|
|
|
|