[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Debugging extension, how does it work
From: |
Michael Erdmann |
Subject: |
Re: [Chicken-users] Debugging extension, how does it work |
Date: |
Fri, 15 Oct 2004 21:37:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040616 |
felix winkelmann wrote:
On Thu, 14 Oct 2004 19:37:26 +0200, Michael Erdmann
<address@hidden> wrote:
I am starting the debugger right after the command line parameters
have been analyzed, but i have no idea how to continue with the
execution after i have set my break point. I am missing
something like continue etc..
I am trying to revert to the csi interpreter. This is what happens:
slint/src> slint.scm --debug --trace=10 test
[debug] Runtime error_________________________________
(exn)
Error: unbound variable: ##sys#current-load-file
(call stack empty)
______________________________________________________
#;debug>
The main driver looks like this:
................. slint.scm
#! /usr/local/bin/csi -script
;*****************************************************************************
** ..... license
;;****************************************************************************
(declare
(uses trace)
(uses util)
(uses io)
(uses tables)
(uses parser)
(uses version)
)
(require-extension debug)
(util::parse-command-line "--debug" "--trace" "--tracefile" "--verbose"
"--quiet" )
(io::put-line nl "Scheme Lexcical Interpreter (SLINT) Version "
version::id )
(io::put-line "Copyright (C) 2004 Michael Erdmann" nl )
(define trace-level (string->number (util::get-option "--trace=" "3" )))
(define trace-file (util::get-option "--tracefile=" "/tmp/slint.trc"))
(if (null? (util::get-arguments))
;; then
(io::put-line
"usage:" nl
nl
"slint [ --debug=<level> [--tracefile=<file>]] file(s)" nl nl
"--debug=<level> - set the debug level to <level>=1..7,
default=3" nl
"--tracefile=<file> - set the name of the debug file,
default=/tmp/slint.trc" nl
)
;; else
(begin
(trace::open trace-file trace-level)
(if (util::option? "--debug")
(debug "** Entering debugger ***"))
(do ((args (util::get-arguments) (cdr args))) ((null? args))
(let ((file-name (car args)))
(parser::scan-file file-name ))
)
)
) ;; end if
Normally the debugger is intended for interactive use in the
interpreter (csi), so one would start csi, load debug, enter
"(debug)", set up breakpoints and enter ",continue" to return
from the debug-loop.
X-Mozilla-Status: 8000
X-Mozilla-Status2: 00000000
cheers,
felix