VC调试技术小技巧(5)

类别:VC语言 点击:0 评论:0 推荐:

同时VC6中还提供了一个Error Lookup 的小工具,可以将相应的错误代码转换成文本描述。见下图:

 

  而且Windows本身也提供了诸如FormatMessage一类的函数,可以把错误代码转换成文本描述,反馈给用户,这里不一一详述。

 

 自定义函数错误

  同样,你也可以自己编写的函数向其他的调用者显示错误代码。这可以通过两种方式实现,

第一,你可以使用WinError.h头文件中已经存在的32位错误代码,通过SetLastError函数来实现。第二,是如果WinError.h头文件中已经存在的32位错误代码都不能表示你的错误信息,那么你可以自定义自己的32位错误返回代码。定义错误代码时,必须明白错误代码域,如下图:

                            错误代码域

   要注意的是用户自定义错误代码必须把错误代码域中的29位设置为1,实现办法就是添加一个错误代码的宏定义,然后通过和第一种情况一样设置就可以了。

 

 Release版本的调试

  在很多程序员的观点中,只有Debug版本才能调试,其实对于Release版本的调试是一样可以进行的,有人也许会说,在Debug版本下调试就够了,能在Debug版本下运行很好的程序在Release版本下是不会有问题的,其实这个观点是错误的,我在写程序的过程中就遇到过很多次,一个程序在Debug下能很好的运行,但在Release下运行就出错,检查原因就是缓冲区越界,如果能在Release版本下调试的话,就能很快的找到问题,其实,Release版本的调试是很简单的,只要修改一下VC编译选项的设置就可以实现了。具体实现方法如下:

1、  打开VC集成环境——>Project——>Setting对话框。

2、  在Serttings For组合框中选择All Configuration选项。

3、  选中C/C++ Tab,在Debug info组合框中选择Program Database选项。

4、  切换到Link Tab,在Category组合框选择Debug选项,然后选中下面的debug info 检查框和Microsoft Format 标志。

  在设定完成后,你就能够象调试DEBUG版本一样调试你的Release版本了,不过要注意的是,由于在Release版本中,编译器的优化作用,程序代码中的某些行可能不会被执

本文地址:http://com.8s8s.com/it/it1235.htm