Hmm, well I looked at the code, and it's significantly more complex than I really want to deal with at this moment. I was hoping for some sort of API, like libunwind, that is supported across multiple platforms, rather than something that has to be implemented for a bunch of processors that I don't have :)<div>

<br></div><div>I realize that this is a rather hard problem to begin with - which is why I was hoping to leverage someone else's solution rather than build my own.</div><div><br></div><div>As an aside, when I was working at Electronic Arts, we had a number of "crash dumper" tools that automatically collected stack trace info for C++ programs which were used during the QA process. After I left the company, I looked around for an open source solution that would do the same thing - that is, to give a summary report of a crash that could be uploaded or attached to a bug report. I know that Mozilla and KDE have utilities like these, as does OS X - but what I didn't find was any sort of general library or toolkit for doing this. (Maybe I was looking in the wrong places).</div>

<div><br></div><div>The more that I delve into the realm of exceptions, stack dumps, source level debugging, and other areas where the compiler interfaces with the platform, the more I kind of wish that the LLVM umbrella would extend a little further, to provide the same kind of platform-neutral abstractions that it does for code generation.</div>

<div><br></div><div><div><div><div class="gmail_quote">On Sun, Oct 25, 2009 at 2:07 AM, Duncan Sands <span dir="ltr"><<a href="mailto:baldrick@free.fr">baldrick@free.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi Talin,<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm using the LLVM exception handling intrinsics, along with a custom personality function, to do exception handling and it is working well. Now, I would like to add the ability to produce a human-readable stack backtrace for exceptions which are not caught (or rather, which are caught by some top-level function which prints the exception's stack trace).<br>


</blockquote>
<br></div>
the Ada frontend does this in gcc/ada/tracebak.c.<br>
<br>
Ciao,<br><font color="#888888">
<br>
Duncan.<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>-- Talin<br>
</div></div></div>