back

by deepaksurti·9y ago·view on hn ↗
Whenever I have had to work on an existing Common Lisp code base or even my own CL code that I come to after a time, I use dtrace.lisp [1], [2].

I just choose to trace the application package/s and not the 3rd party packages it uses, at least for the 1st run. Then I run any app feature that I want to explore. What I get is the truth, the pieces of code which have been executed to fulfill that feature. I then read the relevant source code shown by the tracer doing deep dive/high level reading as I deem fit. For complex features on a code base that is new to me, someone who gives me a high level overview helps, but even if not, the tracer helps me do it. I don't know but `dtrace` seems to be `detective trace`.

I haven't found yet more joyful experience of software visualization than a session with dtrace, especially when I combine it with live updating the app source code and see the change reflected.

Outside the lisp world where I can't do such tracing, well, I quirk!!!

[1] https://github.com/deadcode/Learning-CL--David-Touretzky/blo... [2] https://bitbucket.org/dmsurti/dtrace