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

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

相关推荐
ChoSeitaku27 分钟前
16.C++入门:list|手撕list|反向迭代器|与vector对比
c++·windows·list
酒醉的胡铁31 分钟前
Docker Desktop 数据迁移完整流程(Windows 10/11 x64)
windows·docker·容器
YJlio1 小时前
Registry Usage (RU) 学习笔记(15.5):注册表内存占用体检与 Hive 体量分析
服务器·windows·笔记·python·学习·tcp/ip·django
食咗未1 小时前
Linux iptables工具的使用
linux·运维·服务器·驱动开发·网络协议·信息与通信
DeeplyMind2 小时前
第4章: MMU notifier内核实现机制
linux·驱动开发·mmu·mmu notifier
星火开发设计2 小时前
Python数元组完全指南:从基础到实战
开发语言·windows·python·学习·知识·tuple
hudawei9962 小时前
win和Mac在创建python虚拟环境,启动环境等操作的异同
windows·python·macos·虚拟环境
亮子AI2 小时前
Windows 桌面软件用什么框架开发好?
windows
非凡ghost2 小时前
12-Ants(轻量级桌面娱乐工具)
windows·学习·娱乐·软件需求
武藤一雄13 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁