I'm trying to implement a custom exception system in BetterC.
Does anyone know how I'd go about getting a stack trace so that I
can print it to stdout? :)
I was thinking of utilising UDAs & `__LINE__` but it turns out
that UDAs don't let you inject code, which is a shame!
On Sunday, 4 September 2022 at 17:43:01 UTC, IchorDev wrote:
I'm trying to implement a custom exception system in BetterC.
Does anyone know how I'd go about getting a stack trace so that
I can print it to stdout? :)
I was thinking of utilising UDAs & `__LINE__` but it turns out
that UDAs don't
On Sunday, 4 September 2022 at 18:49:37 UTC, Paul Backus wrote:
You can use `libunwind` for this:
https://www.nongnu.org/libunwind/
It's a C library, but it should work for D too.
Ah, I'm actually trying to create my own implementation of this,
so the goal would be to not rely on a dependenc
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
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 sour
On Monday, 5 September 2022 at 12:35:10 UTC, Paul Backus wrote:
Digging in a little deeper, it looks like the druntime
implementation ultimately depends on the C++ exception handling
ABI, via its platform-independent library interface. Bindings
are defined in `core.internal.backtrace.unwind`