.
D 2020-04-15T17:18:43.403
L using\strace\swith\sthe\smegatest\sexecutable
P 3b3c99e60ff459d54ef059b96b034bc6e010b313
U jmoon18
W 1051
<h3>Using trace to debug Megatest issues</h3>
NOTE: I have found this method to be very efficient for debugging in general and use it with Megatest and in most of my programs.
# Create ~/.megatestrc
<verbatim>(use trace)
(import trace)
;; list the functions you think might illuminate the problem here
runs:process-expanded-tests
)</verbatim>
# Patch trace to emit a little info on where the function was called
<verbatim>
chicken-install -r trace
cd trace
patch -p0 <<EOF
*** trace.scm 2014-11-26 09:29:50.000000000 -0700
--- ../../trace/trace.scm 2014-11-25 21:12:41.000000000 -0700
***************
*** 61,66 ****
--- 61,68 ----
(trace-indent)
(set! *trace-indent-level* (fx+ 1 *trace-indent-level*))
(write (cons name args) port)
+ (write ", Called from: " port)
+ (write (conc (car (reverse (get-call-chain)))))
(write-char #\newline port)
(flush-output port) ) )
EOF
chicken-install
</verbatim>
# Run your megatest runs and dig through the various logs :)
Testing
Z 7f8079a108e4abc39e6b376bf54b6d0c