backtrace() vs. _Unwind_Backtrace()
Fri Dec 5 04:12:00 GMT 2003
>>>>> On Fri, 5 Dec 2003 15:23:24 +1300, Bryce McKinlay <firstname.lastname@example.org> said:
Bryce> I have been working on a patch that revamps libgcj's stack
Bryce> tracing, using the libgcc unwinder. I should be able to post
Bryce> it this weekend.
Bryce> One outstanding issue is what to do about Windows, which
Bryce> apparantly doesn't use the DWARF unwinder.
What kind of unwind info does Windows use on x86? Is there a public
document describing it somewhere?
Anyhow, I suppose this is a cue for me to put in a pitch for libunwind? ;-)
In my opinion, a DWARF2 unwinder is only a partial solution anyhow,
because not all platforms use DWARF2 unwind info and because it
doesn't support dynamically generated code. In contrast, the
libunwind API is mostly platform-independent (not limited to DWARF2),
supports dynamically generated code, and can be used for debuggers etc
Fortunately, as far as gcj is concerned, all of this doesn't really
matter: the GCC built-in unwinder and (the latest) libunwind support
the same _Unwind_* API, so whatever the unwinder, gcj should work fine
when using _Unwind_Backtrace().
More information about the Java