JUCE_BREAK_IN_DEBUGGER on M1

With latest develop branch, jasserts failures first appear in libsystem_kernel.dylib`__kill and one has to go up the stack to see the assertion, in contrast to experience on Intel Macs, a small patch makes it use __builtin_trap instead of kill and it appears to act like it used to.

2 Likes

With __builtin_trap you lose the ability to continue past a failed assertion. Being able to continue is more valuable than having to go one step up the stack.

6 Likes

Good to know. With further digging it appears that __builtin_debugtrap() does allow continuing past failed assertions and also doesn’t require the extra stack step.

2 Likes

I really thought we tried all the variations of breaking into the debugger and couldn’t find one that would both break in the right place and wasn’t terminal…

__builtin_debugtrap certainly appears to be doing the right thing though.

Thanks, we’ll make that change.

3 Likes