Windows 何时使用“无法‘读取’/‘写入’内存”或“已停止工作” 是因为访问冲突吗?

Windows 何时使用“无法‘读取’/‘写入’内存”或“已停止工作” 是因为访问冲突吗?

以下错误信息有何区别?

  1. The instruction at "<address>" referenced memory at "<address>". The memory could not be "read"/"written".

  2. <application name> has stopped working(假设发生访问冲突;此消息​​也用于任何其他程序崩溃)

在这两种情况下,程序都执行了无效的内存访问(访问冲突,又称分段错误)。什么决定了显示的确切错误消息?


更新

  • 前一个错误消息以以下内容结尾:Click on OK to terminate the program.如果安装了调试器(例如 Visual Studio),则可能会出现取消Click on CANCEL to debug the program按钮,并在消息中附加文字。另一条错误消息以类似的结尾Click on OK to terminate theapplication, 是The application failed to initialize properly.

  • 我怀疑这些消息是由某个运行时库生成的,绕过了正常的 Windows 崩溃处理程序。您知道这些错误消息何时或为何会出现在消息的位置<application name> has stopped working吗?

相关内容