日期:2014-05-16  浏览次数:20480 次

解决Windows DdbPrint输出消息不全的方法——by 飞尘

解决Windows DdbPrint输出消息不全的方法——by 飞尘

widows的DbgPrint用于输出消息,但是它一次只能输出512字节。
因此,当做了个小驱动让它输出我的大名时,结果是这样的:
kd> g
load me

                                       ***      
          ***                          ***       
         *****                          ***       
        ******                          **        
      ********                          **    *   
     ********  *                       ***    **  
   ****** *** ***                    ** **   **** 
 ******* ***  ***                * ***  **  ***** 
  *****  ***  ***               **** *  ** ****   
   ***   *** ***                ****  *******     
         *** ***                ****   *

既然它一次输出512字节,我们想让它完整地输出,就必须加一点
自己的动作了。
计算需要输出的缓冲区是512的N倍,分配相应的空间,复制到新
空间中去,循环输出每512字节即可。

结果如下:
kd> g
load me

                                       ***      
          ***                          ***       
         *****                          ***       
        ******                          **        
      ********                          **