Just now had the embarrassing problem of having my would-be debugging session lost because I had accidentally typed a carriage return at the window where my rarely-failing test was running in a loop.
It seems to me that if someone puts -XX:+ShowMessageBoxOnError on the command line, then they have signaled a sincere desire to start a debugger when something goes wrong, and it should harder to accidentally NOT start that debugger. Either the runtime should flush pending input before printing the message, or perhaps it should loop waiting for a definite "yes" or "no" and ignore all other inputs.
It seems to me that if someone puts -XX:+ShowMessageBoxOnError on the command line, then they have signaled a sincere desire to start a debugger when something goes wrong, and it should harder to accidentally NOT start that debugger. Either the runtime should flush pending input before printing the message, or perhaps it should loop waiting for a definite "yes" or "no" and ignore all other inputs.