On Wednesday, 29 September 2021 at 12:15:30 UTC, Steven Schveighoffer wrote:
On 9/29/21 6:57 AM, JN wrote:
What makes the difference on whether a crash stacktrace gets printed or not?

Sometimes I get a nice clean stacktrace with line numbers, sometimes all I get is "segmentation fault error -1265436346" (pseudo example) and I need to run under debugger to get the crash location.

segmentation faults are memory access errors. It means you are accessing a memory address that is not valid for your application. If you are accessing the wrong memory, it means something is terribly wrong in your program.

[...]

So on Linux, I don't know the behavior on other OSs, the kernel sends SIGSEGV to your process which, if unhandled, simply terminates your program. It's an abnormal termination and thus the D runtime or whatever library that in a normal case takes care of printing the traces doesn't get a chance to do so anymore.

You also change the signal in your handler to get a core dump, look here http://www.alexonlinux.com/how-to-handle-sigsegv-but-also-generate-core-dump

Reply via email to