2

我正在尝试使用these指令创建一个简单的(软件)驱动程序。调试KMDF驱动程序:“系统找不到指定的文件。”

  • 主机是Windows 7的64位与安装完全更新MSVS快递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,并且它引发了很多其他问题。

我也尝试过程监视器,看看它试图访问什么文件,但它很难通过它正在做的一切。

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

edit1:干净安装了两台主机作为目标机器。遵循指示完美:完全相同的错误。以前没有人遇到过吗?

+0

@HansPassant根据http://msdn.microsoft.com/en-us/library/windows/hardware/dn653318(v=vs.85).aspx - 它应该适用于快速,有一些限制。不能调试不是该列表的一部分。我很茫然。我将再次尝试“调试调试器”路线:/ – 2014-09-12 01:19:46

+0

同样在WDK页面(http://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx)上,VS 2013 Express是首先下载链接,你可以发现,基本上。 – 2014-09-12 01:20:50

回答

-1

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

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

相关问题