Scribit Mac Chan dies 03/05/2007 hora 10:46:
Just do it yourself, with a handler "leaking" the objects you want to inspect [...]
No this won't solve the issue that I brought up.
You're right. I thought about it and the solution seemed too simple for me not to try and code it cleanly. I've published the code under MIT license here (that's a Mercurial repository):
http://arcanes.fr.eu.org/~pierre/2007/05/cl-leak/
Having an ASDF file is overkill, but at some point I thought I'd need once-only from cl-utilities...
Basically, you'd use leak-variables as needed in a handler, and it would store variables along with their names, so you can bind them to use them later with with-leaked-variables:
(define-leak-variable *leak*)
(defun handler-to-debug () (leak-variables *leak* *request* *reply* *session*) (do-some-hairy-stuff))
Then you trigger it from your browser, and you have an association list in *leak* that you can use to bind the variables leaked:
(with-leaked-variables *leak* (handler-to-debug))
In a production environment, you could use leak-variables-once.
But yeah there are other ways to do it. I just bring this up to see if this is something that other hunchentoot users would want to have built-in.
What bothers me in *debug-mode* is that even when you don't use it, it might slightly slow down the server.
Quickly, Pierre