Sometimes when I'm in sldb, I want to use the actual Lisp debugger because sometimes it more convenient to have a real repl. Pressing B works nicely. Previously, however, I would be in the debugger, and the backtrace would be exactly what I expected, with the top of stack being exactly where the error occurred.
Now, however, the actual error is some 10-20 frames away because there are lots of slime things in between. This is kind of nice too because now I can return to sldb, which I couldn't before. But this also means I now have to go hunt around for the real offending frame.
Is there a way to the old behavior?
Ray
Helmut Eller wrote:
- Raymond Toy [2008-11-12 13:33+0100] writes:
Is there a way to the old behavior?
I restored the old behavior. By default SLDB returns before invoking the native debugger. If B is called with pefix argument the native debugger runs on top of SLDB.
That's a reasonable compromise, because there are times where I wished I could return to sldb. :-) Now I can, if I remember to use a prefix.
Not sure which should be the default behavior, but I'm grateful to have a choice.
Thanks!
Ray
On Sun, Nov 23, 2008 at 6:15 PM, Raymond Toy toy.raymond@gmail.com wrote:
Not sure which should be the default behavior, but I'm grateful to have a choice.
Perhaps the default should be *not* returning from SLDB before entering the native debugger, since that is not undoable -- whereas "Gaah, Slime frames!" can then be fixed by going to to SLDB and invoking the native debugger with the prefix.
?
Cheers,
-- Nikodemus
* Nikodemus Siivola [2008-12-01 08:26+0100] writes:
On Sun, Nov 23, 2008 at 6:15 PM, Raymond Toy toy.raymond@gmail.com wrote:
Not sure which should be the default behavior, but I'm grateful to have a choice.
Perhaps the default should be *not* returning from SLDB before entering the native debugger, since that is not undoable -- whereas "Gaah, Slime frames!" can then be fixed by going to to SLDB and invoking the native debugger with the prefix.
It should be possible to call swank:simple-break to get SLDB back.
A problem is of course the very unfriendly session management of SBCL's debugger. E.g. it doesn't even print a message that the debugger is waiting for the session. It's also a bit pointless that the debugged thread needs a terminal session when it doesn't even access the terminal. That's the case when the debugger does all I/O over SLIME's streams.
Helmut.
On Mon, Dec 1, 2008 at 11:25 AM, Helmut Eller heller@common-lisp.net wrote:
A problem is of course the very unfriendly session management of SBCL's debugger. E.g. it doesn't even print a message that the debugger is waiting for the session. It's also a bit pointless that the debugged thread needs a terminal session when it doesn't even access the terminal. That's the case when the debugger does all I/O over SLIME's streams.
Agreed. I would really like to rip the session stuff out and replace it with stream based synchronization. I don't remember what it was that stopped me the last time I was looking at it.
Cheers,
-- Nikodemus