[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.lisp

single stepping in slime+sbcl

Jim Newton

9/18/2015 1:48:00 PM

I saw a helpful article about how to use the slime single-stepping debugger.
http://objectmix.com/lisp/506451-how-single-step-slime-...

I don't see however how to see the return values as I'm stepping through the code.
I.e., when I use the STEP-NEXT or STEP-OUT restarts, does the returned value get printed somewhere what I can watch?
I see that before a function is called, the buffer nicely displays the value to be used in the impending call, but I don't find the return value anywhere.

Evaluating call:
(PRESENTING-OBJECT-1 OBJECT STREAM
#'(LAMBDA ()
(FUNCALL *SAVED-%PRINT-UNREADABLE-OBJECT* OBJECT STREAM TYPE IDENTITY
BODY)))
With arguments:
#<IMAGE-RAW 1x1 of (BINARY)>
#<BROADCAST-STREAM {1320562333}>
#<CLOSURE (LAMBDA ()
:IN
"/Users/jnewton/sw/slime/contrib/swank-presentation-streams.lisp") {13205623AB}>
[Condition of type SB-EXT:STEP-FORM-CONDITION]

Restarts:
0: [STEP-CONTINUE] Resume normal execution
1: [STEP-OUT] Resume stepping after returning from this function
2: [STEP-NEXT] Step over call
3: [STEP-INTO] Step into call
4: [RETRY] Retry SLIME REPL evaluation request.
5: [*ABORT] Return to SLIME's top level.
--more--

Backtrace:
0: ((LAMBDA (SWANK::OBJECT STREAM TYPE IDENTITY &OPTIONAL SWANK::BODY) :IN "/Users/jnewton/sw/slime/contrib/swank-presentation-streams.lisp") #<IMAGE-RAW 1x1 of (BINARY)> #<BROADCAST-STREAM {1320562333}>..
1: ((:METHOD PRINT-OBJECT (IMAGE-RAW T)) #<IMAGE-RAW 1x1 of (BINARY)> #<BROADCAST-STREAM {1320562333}>) [fast-method]
2: ((LABELS SB-IMPL::HANDLE-IT :IN SB-KERNEL:OUTPUT-OBJECT) #<BROADCAST-STREAM {1320562333}>)
3: (PRIN1 #<IMAGE-RAW 1x1 of (BINARY)> #<BROADCAST-STREAM {1320562333}>)
4: (SB-DEBUG::ENSURE-PRINTABLE-OBJECT #<IMAGE-RAW 1x1 of (BINARY)>)
2 Answers

budden

9/18/2015 9:29:00 PM

0

Hi! I don't know how to answer your question, but try to use "trace" common lisp function. You need not to be in a step mode to use trace. Tracing several functions is sometimes more convenient than single stepping.

Pascal J. Bourguignon

9/19/2015 6:54:00 AM

0

Jim Newton <jimka.issy@gmail.com> writes:

> I saw a helpful article about how to use the slime single-stepping debugger.
> http://objectmix.com/lisp/506451-how-single-step-slime-...
>
> I don't see however how to see the return values as I'm stepping through the code.
> I.e., when I use the STEP-NEXT or STEP-OUT restarts, does the returned
> value get printed somewhere what I can watch?

If the tools provided don't do what you want, write your own tools!

I wrote my own cl-stepper.

https://groups.google.c...!original/comp.lang.lisp/50k86A63WJA/hMu30bPh6OsJ

--
__Pascal Bourguignon__ http://www.informat...
â??The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.� -- Carl Bass CEO Autodesk