zoukankan      html  css  js  c++  java
  • C++第三十七篇 -- 调试驱动程序

    上一篇写的KMDF程序是通过串口进行配置的,那么我们在VS中Attach to process外,可以直接用Winbdg进行调试,winbdg.exe所在路径为C:Program Files (x86)Windows Kits10Debuggersx64。怎么使用它呢。

    如果是串口方式配置的话:windbg.exe -b -k com:pipe,port=\.pipecom_1,resets=0

    如果是网络方式配置的话:WinDbg -k net:port=50000,key=1.2.3.4

    虚拟机上如果有打印机的话,那么新添加的串口应该是com2,所以配置的时候得看仔细点,再说安装驱动那一块,之前在网上下载了一个驱动工具,一点用都没有,总是创建句柄失败,后来就把VS生成的inf文件拷过去,sys也拷过去,用devcon.exe的工具安装。

    安装命令devcon.exe install XXX.inf rootXXX 前面的参数就是拷过去的INF文件,后面的参数是驱动的ID,在INF文件里面会写

    [Standard.NT$ARCH$]

    %KMDFDriver1.DeviceDesc%=KMDFDriver1_Device, RootKMDFDriver1

    RootKMDFDriver1就是ID,所以安装命令就是devcon.exe install KMDFDriver1.inf rootKMDFDriver1

    亲测成功,不过我是在调试模式下安装的驱动。

    我的操作步骤是,开启虚拟机,打开windbg.exe,也就是运行上面那句话,然后windbg里面就会显示和虚拟机连接的一些信息,等进入到Windows后,就用devcon.exe工具安装驱动,好像也没什么信息输出了。其实我也不知道新建的那个驱动到底是干啥用的,就是默认的。

    关闭检查驱动数字签名:管理员模式下运行

    bcdedit.exe /set nointegritychecks on

    开启检查驱动数字签名

    bcdedit.exe /set nointegritychecks off

    以管理员权限执行:

    BCDEDIT -SET LOADOPTIONS DISABLE_INTEGRITY_CHECKS

    BCDEDIT -SET TESTSIGNING ON

    重新启动 Windows

    手动安装驱动的方法

    打开设备管理器,在根目录上右击,添加过时设备,下一步,安装我手动从列表中选择的硬件,下一步,下一步,从磁盘中安装,选择.inf文件的路径,确定,下一步,下一步,始终安装此驱动文件。

    windbg配置符号路径:https://blog.csdn.net/counsellor/article/details/82194920

    0:040> .sympath SRV*c:localsymbols*http://msdl.microsoft.com/download/symbols

    0:040> .reload

  • 相关阅读:
    Objective-C 学习记录--toches、Motion/Size/Rect/Point/CGFloat/protocol
    Objective-C 学习记录6--dictionary
    Objc基础学习记录5
    第四篇:web之前端之jquery
    第三篇:web之前端之JavaScript基础
    第二篇:web之前端之css
    第一篇:web之前端之html
    第三篇:杂项之年终总结
    第二篇:杂项之图像处理pillow
    第一篇:杂项之pymysql连接池
  • 原文地址:https://www.cnblogs.com/smart-zihan/p/11780578.html
Copyright © 2011-2022 走看看