当前位置: 首页 > news >正文

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问题,并且失败率比较低的问题。
但是使用起来很复杂,但是使用起来就再也离不开。

相关文章:

  • MySQL的安全性
  • 《TCP/IP网络编程》(第十二章)I/O复用(2)
  • 【微机原理及接口技术】可编程计数器/定时器8253
  • 继电器的选型和英应用
  • 解决文件传输难题:如何绕过Gitee的100MB上传限制
  • 基于springboot+vue的社区医院管理服务系统
  • 蓝桥杯-AB路线(详细原创)
  • C#多线程同步lock、Mutex
  • 深入分析 Android Activity (一)
  • CSS变量 -- var() 使用教程
  • C# 枚举高阶
  • docker容器中解决中文乱码
  • markdown语法保存
  • 使用C语言实现学生信息管理系统
  • PS:电子书App自动截图后合成一个PDF文档
  • 【本地运行chatgpt-web】启动前端项目和service服务端项目,也是使用nodejs进行开发的。两个都运行成功才可以使用!
  • 大数据Scala教程从入门到精通第十篇:Scala在IDEA中编写Hello World代码的简单说明
  • 一篇文章搞懂二叉树
  • 虚拟局域网VLAN
  • RocketMQ .NET
  • 谁将主导“视觉大脑”?中国AI的下一个超级赛道
  • 持续更新丨伊朗官员:港口爆炸已致5人死亡超700人受伤
  • 税务部门曝光3起通过拆分经营骗享小规模纳税人税费优惠偷税案件
  • 中国经济“第一省会”广州,从传统商贸中心到直播电商第一城
  • 岭南非遗大IP来上海了,舞剧《英歌》在文化广场连演两场
  • 中美正在就关税问题谈判甚至会达成协议?外交部:都是假消息