4

I was installing Linux on Virtualbox when Virtualbox froze. A popup box asked me if I wanted to debug Virtualbox.

Why would Windows 7 ask me, the front-end user, if I want to debug a program? Is this breaking abstraction barriers? What will Windows 7 do anyway if I click debug?

4
  • Can you post a screenshot? And I dont think Windows asked you to debug it. It needed some manual action from your side to perform the debug operation.
    – Bibhas
    Jan 28, 2012 at 17:07
  • Don't ask what it will do... Try it! Jan 28, 2012 at 17:33
  • Thanks, I can't reproduce the error, but the popup noted that "Virtualbox has stopped working. [Debug] [Close Application]".
    – David Faux
    Jan 28, 2012 at 21:24
  • Also, I did try clicking debug, and the Virtualbox window just hanged for five minutes. Afterwards, Visual Studio 2010 opened up and noted a null pointer error. How does this help me as the end user? Outlandish.
    – David Faux
    Jan 28, 2012 at 21:26

2 Answers 2

10

Your system is most likely set up for postmortem debugging.

I am not quite sure what makes Windows give the option to debug a failed process. Having a debugger installed might certainly be part of the decision. Maybe a process can even force to have the debug option displayed after it fails.

Usually the option would be intended for developers only.

Possibly related reading:
https://stackoverflow.com/questions/396369/how-do-i-disable-the-debug-close-application-dialog-on-windows-vista

2
  • Thank you, the popup in that Stackoverflow question is exactly what went wrong. I do have a debugger installed since Visual Studio 2010 is installed.
    – David Faux
    Jan 28, 2012 at 21:22
  • 1
    @Oliver, yes, that is exactly how it works. When a crash occurs, Windows uses whatever debugger is indicated in the AeDebug registry key. By default, it is set to Dr. Watson which merely creates a crash dump and logs it, but if you have another debugger installed (which most programming environments will install for obvious reasons), it uses that instead. In that case, when a program crashes and Windows sees that you have a debugger installed, it asks you do handle the crash since it does not know if it is your own program that you are testing that crashed or a third-party program.
    – Synetech
    Jan 29, 2012 at 4:02
3

If you have JIT debugging enabled in Visual Studio, or some other debugger, it will give you the opportunity to attach a debugger to a process that crashes so that you can do post-mortem debugging. If you don't want JIT debugging, you can disable it, and then you have to manually attach a debugger to a process you want to debug before it crashes.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .