stepper and packages
Fabrizio Morbini <[email protected]> Wed, 7 Jun 2006 09:57:55 -0400 (EDT)
| Newsgroups | gmane.lisp.allegro |
|---|---|
| Message-ID | <[email protected]> |
Hi All, I would like to debug a function in a particular point of a big
code that uses multiple packages. What I did was to substitute the
original function call at that particular point with
(step (same-function-call-as-before))
This stops the execution at the right point and enters in the debugger.
I'm using allegro 7 on Linux and I compiled with debug=3 safe=3 and
speed=0.
The problem is that the stepper doesn't seem to be able to access the
value of the local variables used in the function call. To be more
precise:
The function call is something like this:
(in-package package1)
...
(dolist (el some-list)
(if some-condition (setq b 'c))
(step (function el b d))
)
but what i get is the following:
; Autoloading for EXCL::STEP-1:
; Fast loading from bundle code/step.fasl.
1: (SYSTEM:FUNCTION-INFORMATION package1::function NIL NIL T)
[changing package from "COMMON-LISP-USER" to "package1"]
[STEP] package1(2): :sover
result 1: :FUNCTION NIL NIL
1: (FDEFINITION package1::function)
[STEP] package1(3): :sover
result 1: #<Function function>
1: (EXCL::%INVOKE #<Function function>
(package1::el package1::b package1::d))
[STEP] EPI(4): :sover
Error: Attempt to take the value of the unbound variable
`package1::el'.
[condition type: UNBOUND-VARIABLE]
Restart actions (select using :continue):
0: Try evaluating package1::el again.
1: Set the symbol-value of package1::el and use its value.
2: Use a value without setting package1::el.
3: retry the load of test1
4: skip loading test1
5: Return to Top Level (an "abort" restart).
6: Abort entirely from this (lisp) process.
[1] EPI(5):
I also tried to enable the use of local variables using:
:evalmode :context t
and also :evalmode alone.
Where am I going wrong?
Thanks, Fabrizio.