ndisprot代码中的调试信息问题

来源:互联网 发布:xp系统添加网络打印机 编辑:程序博客网 时间:2024/06/10 01:29

 ndisprot是ddk提供的关于ndis协议驱动的源代码例程。

 

 在看的过程中,发现其中用了一个宏:DBG, 这么宏让我晕了好长时间。

 

代码中有这样一段:

 

 

而在调试中在DbgView中始终看不见通过DEBUGP宏打出来的调试信息,开始以为是DBG出了问题,于是就将其定义在程序开始,并给赋值为1,但报错,又将其去掉,把DBG的值打出来一看,其值为1。先是晕了一下,然后想看看它是如何赋值的,分别用check和free两种方式打出其值,发现在check版本下其值为1,在free版本下其值为0.

 

那现在打不出调试信息显然不是这儿的问题了,再往下看,lev..警告级别,问题出在这儿,将DebugLevel改成定义的最高级别DL_EXTRA_LOUD,成功打出了调试信息。

 

从这个过程中另外学到的几点常识:

1.DbgPrint无论是在chk还是在fre中均打出调试信息,据说Kdprint在fre中不打出调试信息。

2.宏DBG在chk下值为1,在fre下为0,在实际中可巧妙应用

 

另外意外发现,在杀毒黑软件安博士V3中,DbgView可以看到许多调试信息,有兴趣的可以研究下....

原创粉丝点击