VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
VC调试技术小技巧(4)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 获得系统函数错误代码

   一个Windows函数返回的错误代码对确认函数为什么会运行失败常常很有用,Microsoft公司编译了所有可能错误代码的列表,并且为每个错误代码分配了一个32位的号码。从系统内部来讲,当一个windows函数检测到一个错误时,它会使用所以个称为线程本地存储器[2]thread-local storage)的机制,将相应的错误代码号码与调用的线程关联起来。这将使线程能独立的运行,而不会影响各自的错误代码。当函数返回时,它的返回值就能指明一个错误已经发生,若要确定这个错误,通过调用GetLastError()函数可以取得线程的32位错误代码(一个DWORD类型变量的值)。当取得32位错误代码后,必须将其转换为有用的某种对象,而WinError.h头文件中包含了Microsoft公司定义的错误代码列表。从此文件中可得到一个错误有3种表示方法:一个消息ID,消息文本和一个号码,具体的细节内容可查阅WinError.h头文件。

   值得注意的是当Windows函数运行失败时,应该立即调用GetLasstError函数。如果在一个函数运行失败后,还调用了其他的函数,则其错误代码就可能被改写。

   在进行调试时,在VC6中可以配置Watch窗口,以便始终显示错误代码的号码和该错误的描述。要实现这个,必须在Watch窗口的 某一行键入“@err,hr”。这样就能始终显示当前执行的函数返回的错误代码。如下图:


 




相关文章

相关软件