<div dir="ltr"><div>Well, I am trying to get with handler-bind, however, it still prints nothing at all (for the backtrace, I mean)<br><br>(defun handle-any-error-log (e)<br>  (print "x") ; checking that we are indeed in the handler<br>
  (with-open-file (eout "errors.txt"<br>            :direction :output)<br>    (format eout "Unhandled error detected: ~%")<br>    (format eout "~A~%" e)<br>    (format eout "Backtrace: ~%")<br>
    (loop for x from (si::ihs-top)<br>       to 0 do<br>     (format eout "~A~%" (si::ihs-fun x)))<br>    (format eout "~%")))<br><br>(eval-when (:load-toplevel :execute)<br>  (handler-bind<br>      ((error #'handle-any-error-log))<br>
    (post-initialization)))<br><br><br></div>Output:<br><br>enerccio@G73Jh-Arch:~/projects/gaia/gaia$ cat errors.txt <br>Unhandled error detected: <br>LOAD: Could not load file #P"/media/home/home/enerccio/projects/gaia/gaia/plugins/crap.fas" (Error: "/media/home/home/enerccio/projects/gaia/gaia/plugins/crap.fas: file too short")<br>
Backtrace: <br>NIL<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/1/30 Anton Vodonosov <span dir="ltr"><<a href="mailto:avodonosov@yandex.ru" target="_blank">avodonosov@yandex.ru</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">In CL you usually can't get stack trace "out of condition".<br>
<br>
Usually you can get the current stack trace. I.e. before stack is unwound.<br>
I.e. catching error handler-bind you can get stack trace, because you are still<br>
inside the stack, but for example with handler-case you are invoked after<br>
the stack is unwound.<br>
<br>
PS. also check out trivial-backtrace if you want be portable library, although<br>
I don't know if it supports ECL.<br>
<br>
30.01.2013, 19:49, "Peter Enerccio" <<a href="mailto:enerccio@gmail.com">enerccio@gmail.com</a>>:<br>
<div><div class="h5">> I tried looking it up there, however it uses si::ihs-top/si::ihs-fun, which at the condition handlers are for some reason 0 so there is nothing to do at that point.<br>
><br>
> 2013/1/30 Stas Boukarev <<a href="mailto:stassats@gmail.com">stassats@gmail.com</a>><br>
>> Peter Enerccio <<a href="mailto:enerccio@gmail.com">enerccio@gmail.com</a>> writes:<br>
>><br>
>>> Hello, I was wondering if it is possible to get the stack of thrown<br>
>>> condition.<br>
>>> I dont think there is ansi way of doing that, however, I can see stack<br>
>>> generated by conditions thrown in slime with ecl, so there must be a way to<br>
>>> do it.<br>
>> You can look at swank-ecl.lisp to see how slime does it.<br>
>><br>
>> --<br>
>> With best regards, Stas.<br>
><br>
> --<br>
> Bc. Peter Vaņu¹anik<br>
> <a href="http://www.bishojo.tk" target="_blank">http://www.bishojo.tk</a><br>
</div></div>> ,<br>
> ------------------------------------------------------------------------------<br>
> Everyone hates slow websites. So do we.<br>
> Make your web apps faster with AppDynamics<br>
> Download AppDynamics Lite for free today:<br>
> <a href="http://p.sf.net/sfu/appdyn_d2d_jan" target="_blank">http://p.sf.net/sfu/appdyn_d2d_jan</a><br>
> ,<br>
> _______________________________________________<br>
> Ecls-list mailing list<br>
> <a href="mailto:Ecls-list@lists.sourceforge.net">Ecls-list@lists.sourceforge.net</a><br>
> <a href="https://lists.sourceforge.net/lists/listinfo/ecls-list" target="_blank">https://lists.sourceforge.net/lists/listinfo/ecls-list</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Bc. Peter Vaņu¹anik<br><a href="http://www.bishojo.tk" target="_blank">http://www.bishojo.tk</a><br>
</div>