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问题,并且失败率比较低的问题。

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

相关推荐
secondyoung26 分钟前
Mermaid流程图高效转换为图片方案
c语言·人工智能·windows·vscode·python·docker·流程图
偶像你挑的噻2 小时前
4-Linux驱动开发-字符设备驱动
linux·运维·驱动开发
赖small强2 小时前
【Linux驱动开发】Linux块设备驱动开发详解
linux·驱动开发·块设备·字符设备
!chen3 小时前
Zabbix 配置中文界面、监控告警以及Windows、Linux主/被监控模板
linux·windows·zabbix
qq_316837755 小时前
华为CCE k8s 使用nfs-subdir-external-provisioner 创建pvc时自动创建pv
windows·华为·kubernetes
呉師傅5 小时前
国产化操作系统---银河麒麟安装步骤(简单介绍)
运维·网络·windows·单片机·电脑
百***25615 小时前
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
windows·mysql·adb
猿来是你_L6 小时前
C# Dictionary 转换成 List
windows·c#·list
悟能不能悟6 小时前
java List怎么转换为Vector
java·windows·list
yaoxin5211236 小时前
241. Java 集合 - 使用 Collections 工厂类处理集合
java·windows