Windows驱动开发系列文章一

文章目录

环境搭建

基本上按照官方网站安装 VisualStudio/SDK/WDK 这些软件就可以了

详情请参考这个安装链接

如何调试

Windows 调试分为两种:一种是实时调试,一种是非实时调试

实时调试

这个就需要用到Microsoft 强大的windbg工具, 常用的命令一定要熟悉,这个大家自行去挖掘。

Q: 如何使用windbg实现双机调试?

A: 使用下面的命令来实现

bcdedit /debug on

USB 方式: bcdedit /dbgsettings usb targetname:xxx

bcdedit /set "{dbgsettings}" busparams xx.xx.xx

具体参考这里USB Debug

Net方式: bcdedit /dbgsettings net hostip:xx.xx.xx.xx key:1.2.3.4 port:12345

具体参考这里Network Debug

非实时调试

这个主要以来于windows的log机制

可以在驱动种使用 KdPrintEx/DbgPrintEx 函数来答应,然后使用DbgView工具来收集log,然后在对log进行分析调整。

具体如何操作,这个大家自行挖掘,这一块儿还是挺多内容的,除了这些windows还自带了一个WPP机制,这个可以打印到内存中,

然后在BSOD的时候可以把这个内存中的log取出来,这是一种很方便的机制,特别是对于BSOD问题,并且失败率比较低的问题。

但是使用起来很复杂,但是使用起来就再也离不开。

相关推荐
无限进步_3 小时前
深入理解 C/C++ 内存管理:从内存布局到动态分配
c语言·c++·windows·git·算法·github·visual studio
克喵的水银蛇3 小时前
Flutter 通用标签选择组件:TagSelector 支持单选 / 多选
javascript·windows·flutter
txzz88883 小时前
网络应用netstart命令
网络·windows·计算机网络·microsoft
水饺编程4 小时前
第3章,[标签 Win32] :处理 WM_PRINT 消息
c语言·c++·windows·visual studio
求梦8205 小时前
Java:Windows家庭中文版的Docker下载安装
java·windows·docker
北极糊的狐6 小时前
报错java: 找不到符号符号: 类 XxxController位置: 程序包 com.ruoyi.xxx.xxx.service
开发语言·windows·python
进击大厂的小白6 小时前
50.共享工作队列
驱动开发
这儿有一堆花6 小时前
Windows 环境下 Nmap 的实战逻辑
windows·网络安全
2gexmxy7 小时前
关于windows UTF-8 BOM的问题
windows
Logic1017 小时前
《Windows批处理(BAT)脚本实战大全:41个场景告别重复操作》含文件处理/查找/重命名/清理等)
windows·编程·文件管理·bat·效率工具·批处理·自动化脚本