What is the difference between the following error messages?
The instruction at "<address>" referenced memory at "<address>". The memory could not be "read"/"written".
<application name> has stopped working(assuming an access violation occurred; this message is used for any other program crash as well)
In both cases, the program has performed an invalid memory access (access violation, aka segmentation fault). What determines the exact error message displayed?
The former error message ends with
Click on OK to terminate the program.If a debugger (e.g. Visual Studio) is installed, there may be a Cancel button with the words
Click on CANCEL to debug the programappended to the message. Another error message, which ends with the similar
Click on OK to terminate the
The application failed to initialize properly.
I suspect these messages are generated by some runtime library, bypassing the normal Windows crash handler. Any idea when or why these error messages would appear in place of the
<application name> has stopped workingmessage?