我正在尝试在我的应用程序中调试崩溃,并注意到一些奇怪的东西。
我创建了一个只有两个按钮的简单Visual Basic 6项目。一个崩溃应用程序,一个挂起应用程序。代码如下:
Private Declare Sub RaiseException Lib "kernel32" (ByVal dwExceptionCode As Long, ByVal dwExceptionFlags As Long, ByVal nNumberOfArguments As Long, lpArguments As Long)
Const EXCEPTION_ACCESS_VIOLATION = &HC0000005
Private Sub cmdRaiseException_Click()
RaiseException EXCEPTION_ACCESS_VIOLATION, 0, 0, 0
End Sub
Private Sub cmdLoopForever_Click()
Do
Loop While True
End Sub
在Windows XP和7中进行测试会产生不同的退出状态:
你确认我的发现吗?有没有这方面的文件?如果不一致,则退出状态代码无效。