无法通过网络调试 windows 驱动程序
can not debug windows driver via net
我正在用VS 2015学习windows驱动development.code&编译都可以。
但是我不能通过网络在目标机器上调试。
这是 vs:
的输出
---------------------------------------------- --------------
[22:12:32:074]:收集内核调试器设置
[22:12:32:080]:正在从测试执行文件夹中删除任何现有文件。
[22:12:32:446]:复制 "Gathering kernel debugger settings" 所需的文件。
[22:12:37:967]:[收集内核调试器设置]命令行:
$KitRoot$\Testing\Runtimes\TAEF\te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_LogDebuggerSettings'" /rebootStateFile:%SystemDrive%\DriverTest\Run\DriverTestReboot .xml /enableWttLogging /wtDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Run\Gathering_kernel_debugger_settings_00013.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas :升高
[22:12:41:624]:结果摘要:总计=1,通过=1,失败=0,阻止=0,警告=0,跳过=0
[22:12:41:624]:任务 "Gathering kernel debugger settings" 成功完成
-------------------------------------------------------------------------
然后我收到一条警报:
"failed to create process instance prevents debugging"
然后什么也没有发生。
如何在目标机器上调试我的驱动程序?
非常感谢!
Visual Studio 对您自己的设备驱动程序进行远程内核模式调试有时会非常痛苦;我已经看到许多经验丰富的内核模式工程师不再浪费他们的时间试图让它在过去工作。
确保您在目标计算机上安装的 Windows 驱动程序工具包 (WDK) 版本与在主机上安装的版本相同。然后再试一次,看看是否能解决问题。您还需要确保您已登录到在目标计算机配置开始时自动创建的 WDK 用户帐户,以及从启动时启用的调试模式。
如果你最多一周后还不能正常工作,那你也别再浪费时间了。您可以使用 WinDbg(作为调试工具的一部分 Windows Driver Kit 附带 - Visual Studio 使用 WinDbg 引擎进行调试)远程调试目标机器的内核,您也可以将其用于设置您自己的设备驱动程序 break-points/analysis。您只需每次手动编译源代码并将已编译的 driver/s 复制到目标机器,由于 network/virtual 机器上的共享文件夹功能,这并不是那么糟糕。
我正在用VS 2015学习windows驱动development.code&编译都可以。
但是我不能通过网络在目标机器上调试。
这是 vs:
的输出
---------------------------------------------- --------------
[22:12:32:074]:收集内核调试器设置
[22:12:32:080]:正在从测试执行文件夹中删除任何现有文件。
[22:12:32:446]:复制 "Gathering kernel debugger settings" 所需的文件。
[22:12:37:967]:[收集内核调试器设置]命令行:
$KitRoot$\Testing\Runtimes\TAEF\te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_LogDebuggerSettings'" /rebootStateFile:%SystemDrive%\DriverTest\Run\DriverTestReboot .xml /enableWttLogging /wtDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Run\Gathering_kernel_debugger_settings_00013.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas :升高
[22:12:41:624]:结果摘要:总计=1,通过=1,失败=0,阻止=0,警告=0,跳过=0
[22:12:41:624]:任务 "Gathering kernel debugger settings" 成功完成
-------------------------------------------------------------------------
然后我收到一条警报: "failed to create process instance prevents debugging" 然后什么也没有发生。
如何在目标机器上调试我的驱动程序?
非常感谢!
Visual Studio 对您自己的设备驱动程序进行远程内核模式调试有时会非常痛苦;我已经看到许多经验丰富的内核模式工程师不再浪费他们的时间试图让它在过去工作。
确保您在目标计算机上安装的 Windows 驱动程序工具包 (WDK) 版本与在主机上安装的版本相同。然后再试一次,看看是否能解决问题。您还需要确保您已登录到在目标计算机配置开始时自动创建的 WDK 用户帐户,以及从启动时启用的调试模式。
如果你最多一周后还不能正常工作,那你也别再浪费时间了。您可以使用 WinDbg(作为调试工具的一部分 Windows Driver Kit 附带 - Visual Studio 使用 WinDbg 引擎进行调试)远程调试目标机器的内核,您也可以将其用于设置您自己的设备驱动程序 break-points/analysis。您只需每次手动编译源代码并将已编译的 driver/s 复制到目标机器,由于 network/virtual 机器上的共享文件夹功能,这并不是那么糟糕。