

Debugging Lisp, Part 5 - jorams
http://malisper.me/2015/08/19/debugging-lisp-part-5-miscellaneous/

======
kerkeslager
Thank you for writing these. I've found that a lot of the lisp materials out
there are either completely introductory (lambda/map/reduce/filter) or seem
like the artifacts of an alien civilization far beyond my comprehension. I've
been following malisper for a little while and it's consistently quality
material that's roughly at my level.

~~~
branchless
Agreed. What is it about lisp that creates blogs of these two types? Emacs is
the same. Loads of articles on how to do simple stuff, a few on very low-level
and nothing in-between.

I think other languages also have this pattern but in the lisp family it seems
more stark.

------
db48x
trace is the thing I miss most when I'm not using Common Lisp.

~~~
deepaksurti
I too miss trace a lot. Whenever I have worked on a common lisp project, trace
has helped a ton to understand the application design, either for a new
feature addition or a bug fix. Just knowing the starting function and tracing
the package that it belongs to gets me going.

And using the Output Data View if I am using LW IDE is even more fun. [1]

trace also I think serves as a nice documentation if the functions are well
documented in code, in that the output of trace to me reads like a doc!

[1]
[http://www.lispworks.com/documentation/lw70/IDE-M/html/ide-m...](http://www.lispworks.com/documentation/lw70/IDE-M/html/ide-m-93.htm)

~~~
crististm
I'm learning CL and whetting my appetite debugging a sizeable project with
SBCL/SLIME. When I trace a certain method the system goes nuts because it
reports on _all_ methods of that name and they are called a lot. What I want
is to trace just the method of my request and nothing more.

Instead I get flooded with useless information. Any recommendation?

~~~
varjag
With CLOS, I'd consider adding a specific :around method for tracing a
particular specialized method.

~~~
crististm
do you mean to add an :around method on the one I'm interested and trace that
instead?

~~~
varjag
I really meant more like a wrapper printing the trace-in before (call-next-
method) and trace-out after. A bit cumbersome though.

