+ #:procedure proc
+ #:behaviour (list trace-trap
+ trace-until-exit))))
+
+(define (clear-trace-subtree! proc)
+ (uninstall-trap (make <procedure-trap>
+ #:procedure proc
+ #:behaviour (list trace-trap
+ trace-until-exit))))
+
+(define (debug-help )
+ (display "\nYou may add the following commands as debugging statements in your source file\n")
+ (display "or enter the set-x! commands at the guile prompt:\n\n")
+ (display " (set-break! <procedure>)\n")
+ (display " causes guile to enter debugger on a call to <procedure>\n")
+ (display " (clear-break! <procedure>)\n")
+ (display " disables a breakpoint previously set on a call to <procedure>\n")
+ (display " (set-trace-call! <procedure>)\n")
+ (display " prints out a line when Scheme enters or exits <procedure>\n")
+ (display " (clear-trace-call! <procedure>)\n")
+ (display " turns off tracing calls to <procedure>\n")
+ (display " (set-trace-subtree! <procedure>)\n")
+ (display " displays each line of Scheme code executed during a call to <procedure>\n")
+ (display " (clear-trace-subtree! <procedure>)\n")
+ (display " turns off tracing code during calls to <procedure>\n\n")
+ (display "Enter help at the guile debug> prompt for further information on debugger commands\n")
+ (newline))