上QQ阅读APP看书,第一时间看更新
1.5.2 Windows Error Lookup Tool工具的使用
Windows Error Lookup Tool工具是第三方的Windows错误码查看工具。该工具可以查看的错误码的类型有4类,分别是Win32、HRESULT、NTSTATUS、STOP。随着Windows Error Lookup Tool工具版本的更新,支持的错误码的数量也会不断增多。它相当于一个功能更强大的Error Lookup的增强版工具。
同样,将错误代码“2”输入该工具的编辑框中,可以看到给出的提示也是“系统找不到指定的文件”。该错误码的类型为“Win32”类型,此类型属于Win32 API定义的错误代码。除了Win32的错误码外,这里将编写另外一个程序例子来测试该软件。代码如下:
#include <stdio.h> int main() { int *p = NULL; *p = 3; return 0; }
该代码在VC6下编辑完成后按F5调试运行,当程序执行到*p=3时,程序会报错,如图1-18所示。
图1-18 错误代码为0xC0000005
调试提示的错误码为0xC0000005,将该错误码复制到Windows Error Lookup Tool中查看,如图1-19所示。
图1-19 错误类型为STATUS_ACCESS_VIOLATION
在图1-19中,错误的定义为STATUS_ACCESS_VIOLATION,意思是访问违例。在例子代码中对0地址进行了赋值,而0地址是禁止访问的地址,因此提示为访问内存违例。目前Windows Error Lookup Tool3.0.6版本没有对0xC0000005的错误码给出正确的描述,但是对其他绝大部分错误码都能给出正确的错误描述。(提示对于指针的赋值,一定要检查指针的有效性。在指针进行定义和指针指向空间释放时,一定要将其赋值为NULL。这样,当程序出错时,可以较容易地找到代码的错误位置。)