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.