[用户投稿] Win 64 驱动编程 第三课 用WinDbg调试驱动

  2018年04月21日  深蓝  26297 阅读 Tag:

感谢本站用户:shenyizhe 投稿为大家分享。

 

如果要调试驱动,就要对驱动进行下断

 

x32下,我们可以直接在代码中写入汇编代码进行下断

 

1.png

 

但是 x64 不支持内联汇编

 

请教某大牛后,解决办法如下

 

在源码目录下,新建pause.asm

写入如下代码

 

.CODE
public b1
b1 PROC
int 3
b1 ENDP
END

 

设置pause.asm文件属性

2.png

 

然后在驱动入口DriverEntry函数下面调用

 

__debugbreak();

 

就是将图1中“__asm int 3;” 换成“__debugbreak();”

 

 

重新生成解决方案,编译通过!

4.png

 

 

将生成的驱动拷贝到虚拟机进行调试

 

驱动安装后,启动虚拟机就会断下

 

然后在主机WinDbg上就可以对我们的驱动进行调试了

 

5.png

 

用汇编指令 u HelloWord!DriverEntry

查看驱动入口函数

 

6.png

 

就可以看到我们下的断点了

 

上面也有步入、步过等按钮或对应的快捷键,F8,F10,F11等,进行我们驱动的调试跟踪

 

其他汇编代码可以自行查阅资料

 

 


      我的工单留言列表与站长回复 . 共有留言: 97 条