2

我正在尝试使用这些说明创建一个简单的(软件)驱动程序。

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

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

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

4

1 回答 1

-1

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

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

于 2014-09-30T10:05:54.360 回答