[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problems with dbl
I have been using Shelter's dbl package without any problems
for quite some time now. However, recently I started putting
stuff in packages, and I noticed the following two problems.
I am wondering whether others have noticed this as well, and
also, whether there are any workarounds.
I give first a short description of the problems. An
annotated transcript is included below.
(1) Suppose you have your program divided into several
packages. Suppose further that the function you want to
debug is not in the top level package (for the sake of
discussion, lets assume the function is in the :sausage
package). If you hit a breakpoint, in order to be able to
examine local variables, you have to (in-package :sausage).
However, if you then restart from the debugger, some symbols
are not visible any more. It appears that doing an
(in-package ...) in the debugger somehow confuses the name
space resolver.
(2) I have a function called matchq in a file. If I try to
set a breakpoint at that function, the debugger also freaks
out (as you can see below). I am not aware that there is a
function matchq in kcl that it might get confused about.
Anyways, any help is greatly appreciated.
Thomas.
+--------------------------------+---------------------------------+
| Thomas Weigert | |
| Suiron-kenkyuu-shitsu | weigert@{mcs.anl.gov,etl.go.jp} |
| Electrotechnical Laboratory | +81-298-58-5918 (phone+fax) |
+--------------------------------+---------------------------------+
------------------- transcript below -------------------------
(1) Problem 1.
6 % kcl
AKCL (Austin Kyoto Common Lisp) Version(1.609) Sat Mar 28 09:11:16 GMT 1992
Contains Enhancements by W. Schelter
Loading init.lsp
*** [... various loading stuff deleted ...]
Finished loading init.lsp
>Bkpt 0:(match.lsp line 150)(line 2 of MATCH)
>(tl)
Mock-Mma (Sun-4) 2.0 (Oct. 3,, 1991) [With pre-loaded data]
Possibly Copyright 1990-1991 U.C.Berkeley
-- Terminal graphics initialized --
In[1] := NULL
NULL
In[2] := matchq[a,a]
(MATCHQ A A)
Bkpt 0:(/fs/disk1/src/MMA/kcl/match.lsp line 150)
*** Now lets change the package. Note that the :sausage package does
*** not exist in the system at this time.
dbl:MMA>>(in-package :sausage)
#<"SAUSAGE" package>
*** In the :sausage package now. Hit M-c in dbl, to exit the
*** debug loop.
T
OUT[2] = T
*** Normally exit would leave the tl-loop. However, after changing the
*** package in dbl, we cannot get out any more.
In[3] := exit
EXIT
EXIT
OUT[3] = EXIT
*** exit is not recognized any more, and nothing happens.
In[4] := mma::exit
*** try mma::exit (that's where it is defined, but that won't work
*** either.
Error: Cannot find the external symbol in #<"MMA" package>.
Fast links are on: do (use-fast-links nil) for debugging
Error signalled by READ-PRESERVING-WHITESPACE.
Broken at READ-PRESERVING-WHITESPACE. Type :H for Help.
SAUSAGE>>
Error: The variable MMA::|(| is unbound.
Fast links are on: do (use-fast-links nil) for debugging
Error signalled by EVALHOOK.
Backtrace: system:universal-error-handler > EVALHOOK
Broken at READ-PRESERVING-WHITESPACE.
*** As a matter of fact, something really strange happened to the
*** reader.
SAUSAGE>>(bye)
Error: The variable MMA::|(| is unbound.
Fast links are on: do (use-fast-links nil) for debugging
Error signalled by EVALHOOK.
Backtrace: system:universal-error-handler > EVALHOOK
Broken at READ-PRESERVING-WHITESPACE.
SAUSAGE>>
Error: The variable BYE is unbound.
Fast links are on: do (use-fast-links nil) for debugging
Error signalled by EVALHOOK.
Backtrace: system:universal-error-handler > EVALHOOK
Broken at READ-PRESERVING-WHITESPACE.
SAUSAGE>>
Error: The variable MMA::|)| is unbound.
Fast links are on: do (use-fast-links nil) for debugging
Error signalled by EVALHOOK.
Backtrace: system:universal-error-handler > EVALHOOK
Broken at READ-PRESERVING-WHITESPACE.
*** Control-d does work, though.
SAUSAGE>>Bye.
(2) Problem 2.
7 % kcl
AKCL (Austin Kyoto Common Lisp) Version(1.609) Sat Mar 28 09:11:16 GMT 1992
Contains Enhancements by W. Schelter
Loading init.lsp
*** [... loading stuff deleted ...]
Finished loading init.lsp
*** Here I was trying to set a breakpoint to the following function:
*** (defun MatchQ(l x)(if (match x l) t nil))
*** i.e., execute (si::break-function 'MatchQ 661 t)
*** Note that this file has 686 lines (MatchQ is not at the end).
>
Beyond code for
Error: Format error: arguments exhausted.
V
"~%Beyond code for ~a "
Fast links are on: do (use-fast-links nil) for debugging
Error signalled by SYSTEM::BREAK-FUNCTION.
Broken at SYSTEM::BREAK-FUNCTION. Type :H for Help.
>>:q
Top level.
>Bye.
8 %