(format #t "Return values:~%")
(for-each (lambda (x) (repl-print repl x)) vals))))
((module-ref (resolve-interface '(system repl repl)) 'start-repl)
- #:debug (make-debug stack 0 msg))))))
+ #:debug (make-debug stack 0 msg #t))))))
(define-stack-command (finish repl)
"finish
(k (frame->stack-vector frame)))))))
(format #t "~a~%" msg)
((module-ref (resolve-interface '(system repl repl)) 'start-repl)
- #:debug (make-debug stack 0 msg)))))
+ #:debug (make-debug stack 0 msg #t)))))
(define-stack-command (step repl)
"step
#:use-module ((system vm inspect) #:select ((inspect . %inspect)))
#:use-module (system vm program)
#:export (<debug>
- make-debug debug? debug-frames debug-index debug-error-message
+ make-debug debug?
+ debug-frames debug-index debug-error-message debug-for-trap?
print-registers print-locals print-frame print-frames frame->module
stack->vector narrow-stack->vector
frame->stack-vector))
;;; accessors, and provides some helper functions.
;;;
-(define-record <debug> frames index error-message)
+(define-record <debug> frames index error-message for-trap?)
\f
(error-msg (if trap-idx
(format #f "Trap ~d: ~a" trap-idx trap-name)
trap-name))
- (debug (make-debug stack 0 error-msg)))
+ (debug (make-debug stack 0 error-msg #t)))
(with-saved-ports
(lambda ()
(if trap-idx
;; the start-stack thunk has its own frame too.
0 (and tag 1)))
(error-msg (error-string stack key args))
- (debug (make-debug stack 0 error-msg)))
+ (debug (make-debug stack 0 error-msg #f)))
(with-saved-ports
(lambda ()
(format #t "~a~%" error-msg)