Reliably Crashing a Juce App


#1

The subject seems ironic, but it isn’t: How do I make sure an app crashes quickly in the case it crashes?

As it is now, a crash (while scanning plugins) may cause the app to hang around for minutes before the OS eventually decides to cleanup the zombie and close it. I want it to crash faster, so the scan can be continued without the user having to wait that long.

Any idea?


#2

upon launch, create a watchdog process that attempts to kill the app if the app hasn’t called home after the appropriate amount of time…


#3

Thanks. How would I kill (force quit) the process without knowing its PID? And doesn’t that require admin rights? I mean, sometimes it can not even be quit from the Dock with “Force Quit”, or the Windows Task Manager. A bad scan attempt that ran wild can be extremely sticky.

The Juce library doesn’t include more detailed process control that “run and forget”, hence my stupid question. I know there are APIs on Windows and Mac for forking child processes, but I would rather prefer to see the crashing process quit itself more quickly. Exception handling doesn’t seem to work for most causes of a crash.

BTW: I just figured that a Release build quits faster than a Debug build. That’s at least a small progress towards more user friendliness.