【问题标题】:Debugging KMDF driver: "The system cannot find the file specified."调试 KMDF 驱动程序:“系统找不到指定的文件。”
【发布时间】:2014-09-10 23:44:47
【问题描述】:

我正在尝试使用these 指令创建一个简单的(软件)驱动程序。

  • 主机是 Windows 7 x64,带有完全更新的 MSVS Express 2013。
  • 最新的 windows 驱动程序包已安装并且工作正常。
  • 同样装有 Windows 7 x64 的虚拟机由 VS 成功配置,并完全按照 these 说明进行配置。

部署过程似乎正确执行,构建日志显示如下:

1>  Catalog generation complete.
1>  <snip>\Win7Debug\Driver Package\driver.cat
1>  Done Adding Additional Store
1>  Successfully signed: <snip>\Win7Debug\Driver Package\driver.cat
1>  
1>  Deploying driver files for project "<snip>\Driver Package\Driver Package.vcxproj".  Deployment may take a few minutes...
2>------ Deploy started: Project: Driver, Configuration: Win7 Debug Win32 ------
2>  Done Adding Additional Store
2>  Successfully signed: <snip>\Win7Debug\Driver.sys
2>  
3>------ Deploy started: Project: Driver Package, Configuration: Win7 Debug Win32 ------
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Deploy: 2 succeeded, 0 failed, 0 skipped ==========

但是,当 Visual Studio 尝试启动调试会话时,我收到以下错误消息:

不幸的是,没有提到它找不到哪个文件。我已经尝试附加一个调试器并挂钩 kernel32 的 MessageBox,这样也许我可以检查调用跟踪/查看它正在寻找哪个文件,但是 VS 不喜欢我附加 ollydbg,它会带来很多其他问题。

我也尝试过 Process Monitor 来查看它试图访问的文件,但很难浏览它正在做的所有事情。

我错过了什么吗?任何人都可以指出正确的方向吗?

edit1:将两个主机都作为目标机器进行了全新安装。完全按照说明进行操作:完全相同的错误。以前没有人遇到过这种情况吗?

【问题讨论】:

标签: visual-c++ visual-studio-2013 visual-studio-debugging kmdf


【解决方案1】:

所以答案是 Visual Studio 默认为 Kernel Debugger 而不是 Remote Debugger。更改此设置至少可以部署和安装驱动程序,但仍会导致构建过程永远挂起。

我已经放弃尝试编写 KMDF 驱动程序,而是通过SetWindowsHookEx 选择全局挂钩。不是我喜欢的东西,但在 Windows 中编写内核模式驱动程序的过程在我看来太乏味了。

【讨论】:

    猜你喜欢
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多