+2004-02-09 Neil Jerram <neil@ossau.uklinux.net>
+
+ * debugger/trap-hooks.scm (debug-hook-membership): New, exported.
+
+ * debugger/commands.scm (debug-trap-hooks): New, exported.
+
2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
* debugger/breakpoints/Makefile.am (TAGS_FILES),
#:use-module (ice-9 debugger)
#:use-module (ice-9 debugger behaviour)
#:use-module (ice-9 debugger state)
+ #:use-module (ice-9 debugger trap-hooks)
#:use-module (ice-9 debugger utils)
#:export (backtrace
evaluate
finish
trace-finish
next
- step))
+ step
+ debug-trap-hooks))
(define (backtrace state n-frames)
"Print backtrace of all stack frames, or innermost COUNT frames.
(if n (set-stack-index! state (frame-number->index n (state-stack state))))
(write-state-short state))
+(define (debug-trap-hooks state)
+ (debug-hook-membership)
+ state)
+
;;;; Additional commands that make sense when debugging code that has
;;;; stopped at a breakpoint.
remove-breakpoint-hook!
remove-enter-frame-hook!
remove-exit-frame-hook!
- remove-trace-hook!))
+ remove-trace-hook!
+ debug-hook-membership))
;;; The current low level traps interface is as follows.
;;;
(remove-hook! trace-hook proc)
(set-debug-and-trap-options))
+(define-public (debug-hook-membership)
+ (for-each (lambda (name+hook)
+ (format #t "~A:\n" (car name+hook))
+ (for-each (lambda (proc)
+ (format #t " ~S\n" proc))
+ (hook->list (cdr name+hook))))
+ `((before-enter-frame-hook . ,before-enter-frame-hook)
+ (enter-frame-hook . ,enter-frame-hook )
+ (breakpoint-hook . ,breakpoint-hook )
+ (after-enter-frame-hook . ,after-enter-frame-hook )
+ (before-exit-frame-hook . ,before-exit-frame-hook )
+ (exit-frame-hook . ,exit-frame-hook )
+ (after-exit-frame-hook . ,after-exit-frame-hook )
+ (before-apply-frame-hook . ,before-apply-frame-hook)
+ (apply-frame-hook . ,apply-frame-hook )
+ (trace-hook . ,trace-hook )
+ (after-apply-frame-hook . ,after-apply-frame-hook ))))
+
;;; (ice-9 debugger trap-hooks) ends here.