During web searching, I found the following comment : Traditional Lisp debugging practices can still be used.
By pausing the AutoLISP interpreter, we can take control of the flow of evaluation, starting & stopping the code when and where we like. To do this, in the VLIDE Editor window, place your cursor in front of the opening bracket of the while expression, click, and go to Debug » Toggle Break Point (F9).
Inside of VSCode, open a lisp file that you want to edit. Inside of VSCode, open the Command Palette on the menu at the top where it says View/Command Palette and start an instance of SBCL running a Swank server attached to your VSCode REPL by choosing: Alive: Start REPL And Attach .
You can enter the debugger when you call the function by calling debug-on-entry . Now, type d again, eight times, slowly. Each time you type d , Emacs will evaluate another expression in the function definition. By typing d , you were able to step through the function.
The Visual LISP IDE (rather, more precisely: Visual LISP Integrated Development Environment (VLIDE) - but that's a bit of a mouthful), is an excellent developer tool & resource supplied as standard with the majority of full versions of AutoCAD.
I don't know what Bill meant specifically, but IME:
Typically your editor will have a running instance connected to it. You can compile functions immediately to insert them into the running image -- since Lisp has its own compiler, you're just telling the running image to read and compile a small section of text. Or you can run functions directly, to see what they do.
When an exception is thrown (or a condition is signaled, if you're lucky enough to be in a dialect with conditions), the debugger will show you the stack trace and let you decide how to continue.
The major difference between Lisp and other high-level compiled languages is that in Lisp you're basically always writing code with the debugger attached.
As clojure was tagged in the question, I'll give our perspective.
Class files generated by the clojure compiler include line- and method-based debugging info, so any java debugger will interoperate directly with clojure code, including breakpoints and object inspection.
If you use emacs/slime as your development environment, integration with slime's debugger has recently been included. As documentation is a little sparse, it's probably best to check out the scope of the support on github directly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With