我正在尝试使用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,它会带来很多其他问题。< / p>
我还尝试过Process Monitor来查看它试图访问的文件,但是很难完成它所做的一切。
我错过了什么吗?任何人都能指出我正确的方向吗?
edit1:将主机干净安装为目标机器。完美地遵循指示:完全相同的错误。以前没有人碰到这个吗?
答案 0 :(得分:-1)
所以答案是Visual Studio默认为Kernel Debugger
而不是Remote Debugger
。改变这个至少让它部署和安装驱动程序,但仍然导致构建过程永远挂起。
我已经放弃尝试编写KMDF驱动程序,而是选择通过SetWindowsHookEx
选择全局挂钩。不是我喜欢的东西,但在Windows中编写内核模式驱动程序的过程在我看来太乏味了。