BetterC stack traces?

Paul Backus snarwin at
Mon Sep 5 12:35:10 UTC 2022

On Monday, 5 September 2022 at 12:07:35 UTC, Paul Backus wrote:
> On Monday, 5 September 2022 at 10:47:38 UTC, IchorDev wrote:
>> Ah, I'm actually trying to create my own implementation of 
>> this, so the goal would be to not rely on a dependency.
>> I can't exactly make head nor tail of the library's source 
>> other than that it seems to have a unique implementation on 
>> each processor/OS type.
>> I'm sure there must be something hidden in `core.internal.` 
>> for this. I'll look at the implementation of `rt.trace` and 
>> see if I can find anything.
> I think this is what you are looking for:

Digging in a little deeper, it looks like the druntime 
implementation ultimately depends on the [C++ exception handling 
ABI][1], via its platform-independent library interface. Bindings 
are defined in [`core.internal.backtrace.unwind`][2].

There is also what looks like a from-scratch implementation of 
table-based exception handling in [`rt.deh_win64_posix`][3], but 
according to a comment it is no longer used. Might be educational 
to read, though.


More information about the Digitalmars-d-learn mailing list