
WDK
ljymoonlight
心行合一,万物皆通。
展开
-
WDK1.3. windbg调试配置
目录1.3.1. windbg简述windbg是在windows平台下,强大的用户态和 内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析 dump数据。通过windbg可以对WDF驱动程序进行在线调试,也可以简单的输出显示调试功能。 在线调试能够设置断点、单步骤...原创 2019-08-18 21:28:35 · 407 阅读 · 0 评论 -
WDK1.2. bcdedit调试配置
目录1.2.1. bcdedit简述在NT60系列操作系统(Windows 8/7/Vista/2008)中的一个命令行工具,用于建立和重新配置bootloader,后者无须再使用boot.ini文件。也就是说,使用BCDEdit这个工具,能够修改NT60 系列系统的启动菜单。简单理解就是启动程序基础配置,系统根据配置文件进入不同的系统环境。调试WDF驱动时,避免驱动程序导致系统无法恢复,...原创 2019-08-18 21:27:10 · 1121 阅读 · 0 评论 -
WDK1.1. 开发环境搭建
目录1.1.1. 简述WDF是微软提出的全新驱动程序模型,它提供了面向对象、事件驱动的驱动程序开发框架,对它的研究是设计高效稳定设备驱动程序的基础。WDF(Windows Driver Foundation)是微软提出的下一代全新的驱动程序模型,它是在WDM(Windows Driver Model)的基础上发展而来的,支持面向对象、事件驱动的驱动程序开发,提供了比WDM更高层次抽象的高度灵...原创 2019-08-18 21:26:04 · 357 阅读 · 0 评论 -
24、WDK在两项驱动程序间或一项 I/O 驱动程序内检测到协议错误
调试Xilinx 提供的驱动程序出现 。 不知道什么原因,先记录下来,再一步步撸 。原创 2019-05-31 21:14:52 · 1042 阅读 · 6 评论 -
22、PCIE资源
CmResourceTypeDevicePrivate原创 2019-05-22 00:27:24 · 294 阅读 · 0 评论 -
21、WDK调试错误2
EXCEPTION_RECORD: 00000000000000dc -- (.exr 0xdc)Cannot read Exception record @ 00000000000000dcLAST_CONTROL_TRANSFER: from fffff80642d7bdf4 to fffff80642ec3b8aSTACK_TEXT: fffff806`42b4a6b0 f...原创 2019-05-16 21:14:14 · 1062 阅读 · 0 评论 -
19、WDK PCIE 驱动找不到设备资源
window pcie驱动找不到设备资源WdfCmResourceListGetCount(ResourceListTranslated) = 0原创 2019-05-11 23:16:56 · 620 阅读 · 1 评论 -
18、WDK 安装数字签名方法
### win7 上使用测试签名方式certmgr.exe/addMy_Test.cer/s/rlocalMachinerootcertmgr.exe/addMy_Test.cer/s/rlocalMachinetrustedpublisher### win10 禁止数字签名方法https://zhuanlan.zhihu.com/p/369738...原创 2019-05-08 16:25:53 · 718 阅读 · 0 评论 -
17、WDK Spw_PCIe驱动开发分析
### 源代码网络上找到,github中拉取回来编译遇到的问题### 编译调试APP 时遇到的问题SetupDiGetClassDevs 等处编译出现错误 。原因是一个库没有在工程上被添加 。setupapi.lib 库 。添加库在对应的位置 : 添加的 setupapi.lib 库内容。然后编译顺利通 。写网络技术比较,发现自己写的都很零散...原创 2019-05-07 21:09:21 · 903 阅读 · 0 评论 -
16、windbg调试步骤
### 通过串口、usb、本地调试方法可以参考https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/performing-kernel-mode-debugging-using-windbg ### 驱动安装后,设备管理中显示感叹号- 查看属性和相关的错误提示,基本都是数字签名问题。...原创 2019-05-06 17:27:59 · 138 阅读 · 0 评论 -
15、windbg使用2
Unloaded modules:fffff880`02ab7000 fffff880`02b28000 spsys.sysfffff880`05a09000 fffff880`05a12000 KMDFDriver3.sysfffff880`05a00000 fffff880`05a09000 KMDFDriver3.sysfffff880`05bf6000 fffff880...原创 2019-04-24 21:51:47 · 341 阅读 · 0 评论 -
14、难倒十年经验工程师的问题
在做WDK驱动开发时,由于某些原因导致系统需要重装。将C盘格式化后,重装了Win10 和win7系统。都停止在“正在加载”1、系统重装了10多个2、系统安装了2天都找到解决的方法。还被一个10年经验的工程师吐槽了,然后也一起搞了一个晚上。方法、方法、方法...原创 2019-04-09 23:05:42 · 147 阅读 · 0 评论 -
13、WDK调试多系统使用
调试WDK可能需要设置多个系统。如果都安装到C盘你每次安装需要重复的时间和次数完完全全影响开发效率。C:win10D: win 7系统上的安装都是通过U盘启动工具PE#### 配置U盘启动模式- U盘启动后,通过工具安装ISO 文件到D盘### PE启动修复工具- 选择需要启动的盘。这样子,一台电脑上,可以安装多系统。...原创 2019-04-06 15:23:19 · 199 阅读 · 0 评论 -
11、WDF 真机调试
1、vbox上win10 系统上,能够正常的安装和卸载问题: 今天将驱动文件夹放到真机上调试时。发现不能够正常安装。环境:虚拟机上是win10 x64 系统,真机win10 x64...原创 2019-04-05 21:55:47 · 323 阅读 · 0 评论 -
10.WDF 例程调试问题
1、工程编译直接从vs2017 中创建两个项目工程,一个kmdfdriver2 ;一个kmdfdriver3编译后分别生成安装包,sys和inf文件 。2、虚拟机上安装devcon install操作完全一样。3、 但结果是kmdfdriver3 可正常安装。当前这两个工程不是同一时间建立的。在调试过程中,操作过什么导致可以正常安装,还真不知道。...原创 2019-04-02 23:52:28 · 298 阅读 · 0 评论 -
9、WDF 官方例程echo分析
### 今天尝试将echo autosync这个文件编译出来的驱动安装,发现失败。待后续分析失败原因 。原创 2019-03-31 22:47:36 · 314 阅读 · 0 评论 -
8、双机联调注意win7和win10问题
1、 联调时使用windbg 可以进行在线debug 2、 windbg 通信方式- win7 支持串口模式 ,不支持网络(net)模式,因此 debugtype net 是无效的参数- win10 支持串口模式,也支持网口模式。...原创 2019-03-19 22:41:53 · 300 阅读 · 0 评论 -
7、驱动安装配置文件 inf 使用
;; KMDFDriver3.inf;[Version]Signature="$WINDOWS NT$"Class=Sample ; TODO: edit ClassClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuidProvider=%ManufacturerName%CatalogFil...原创 2019-03-18 22:45:47 · 1314 阅读 · 0 评论 -
6、WDK中如何对应设备管理
在学习WDK驱动开发时,存在疑惑window中的设备管理中的设备驱动,是如何与WDK对应的。先记录一下,如果知道的麻烦贴一下链接。 谢谢 。原创 2019-03-17 19:53:17 · 162 阅读 · 0 评论 -
5、WDK 调试驱动使用devcon
由于对于WDK调试完全不了解。然后从网上找了驱动安装工具,安装第一次能够打印,卸载后再安装发现能够再继续打印了。 怀疑是因为卸载不完整导致 。 果然重启后安装-》启动又能够继续打印调试信息。### 但是程序有一个位置一直无打印WDF_DRIVER_CONFIG_INIT(&config, KMDFDriver3...原创 2019-03-11 23:05:38 · 875 阅读 · 0 评论 -
4、VS2017 WDK双机调试蓝屏崩溃
无论是使用串口联调还是网口联调方式都会崩溃,抓狂。还没解决,先记录一下。后面处理的方式,1、 将数字签名给禁止了。2、虚拟机上PE模式上,将debugtype 使用 bcdedit /deletevalue {dbbsettings} debugtype ...原创 2019-03-10 14:20:53 · 634 阅读 · 0 评论 -
3、驱动基础知识
1 驱动程序入口函数DriverEntry 驱动程序的入口函数。 类似于 main函数2 创建驱动对象WdfDriverCreate3 创建设备对象SampleDriverEvtDeviceAdd //这个是wdfDriverCreate时自己指定的在 SampleDriverEvtDeviceAdd函数中通过调用WdfDeviceCreate函数,根据配置的属性创建对应的设备...原创 2019-03-09 14:33:55 · 384 阅读 · 0 评论 -
2、debugview设置允许驱动打印
1.打开注册表(在Run -> regedit)。2.打开这个键:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]。3.建立[Debug Print Filter]这个新键。4.新增加一个“DEFAULT”的DWORD值,将其内容设置0x0f,如下图所示: //添加新的二进制值5.重启OS后生...原创 2019-03-09 14:33:04 · 568 阅读 · 0 评论 -
1、pcie访问相关
Port I/O方式只能访问PCI配置空间,而不能访问PCI-E扩展配置空间(257~4096字节),此时只能通过MMIO方式。Linux内核中的MMIO实现读/写分别对应函数pci_mmcfg_write()和pci_mmcfg_read()。函数在文件arch/i386/pci/mmconfig.c中。若访问的配置空间在前面256字节范围内,则直接调用直接访问方式(Port I/O)。若访问...原创 2019-03-09 14:31:45 · 488 阅读 · 0 评论