【问题标题】:Debugger cannot break into a KMDF driver in vs 2015 professional via network connection调试器无法通过网络连接闯入 vs 2015 专业版中的 KMDF 驱动程序
【发布时间】:2016-10-07 02:17:48
【问题描述】:

我正在尝试使用 update2 在 Visual Studio 2015 Professional 中设置远程驱动程序调试。我的主机在 Windows 8.1 家庭版 64 位中运行,目标是在 Windows 10 家庭版 64 位中运行的单独计算机。我可以通过网络成功配置/配置目标计算机,然后按F5调试/部署KMDF驱动程序,部署驱动程序大约需要2分钟,然后部署的显示停止,我认为部署的过程已经完成,然后我看到了目标站点的设备管理器,驱动已经安装成功,但是当我按“全部中断”按钮中断调试器时,什么也没发生,不能中断调试器,kd控制台窗口(即kd > ) 仍然被禁用(灰色),它不能输入任何命令。所以这意味着驱动程序的部署尚未完成,但奇怪的是没有显示任何有关部署的错误消息,并且驱动程序也已成功安装在目标站点。

以下是部署阶段“Debugger Immediate Window”的输出信息。这个问题我花了好几个星期才解决,但我还是解决不了。希望有人能帮助我或给我一些建议,不胜感激!

Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

SIMON\simon96 (npipe WinIDE_01D1BFBFC94007E3) connected at Mon Jun 06 14:51:00 2016

Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Using NET for debugging
Opened WinSock 2.0
Waiting to reconnect...
[14:51:01:965]: Remove Existing Remote Package
[14:51:02:028]: Task "Remove Existing Remote Package" completed successfully
[14:51:02:028]: Copy Driver Package
[14:51:02:434]: Task "Copy Driver Package" completed successfully
[14:51:02:449]: Driver Removal
[14:51:02:449]: Removing any existing files from test execution folder.
[14:51:02:543]: Copying required files for "Driver Removal".

$KitRoot$\Testing\Runtimes\TAEF\te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_DriverRemoval'" /p:"InfFile=Test7KMDF_vs2015_u2.inf" /p:"Debug=1" /p:"ImportDriver=1" /p:"RemoveDriver=1" /p:"CertificateFile=Test7KMDF_vs2015_u2.cer" /p:"PackageGuid=x64" /p:"HardwareId=Root\Test7KMDF_vs2015_u2" /rebootStateFile:%SystemDrive%\DriverTest\Run\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Run\Driver_Removal_00016.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated
[14:51:36:544]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0
[14:51:36:544]: Task "Driver Removal" completed successfully
[14:51:37:215]: Driver Preparation
[14:51:37:215]: Removing any existing files from test execution folder.
[14:51:37:262]: Copying required files for "Driver Preparation".

$KitRoot$\Testing\Runtimes\TAEF\te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_DriverPreparation'" /p:"InfFile=Test7KMDF_vs2015_u2.inf" /p:"Debug=1" /p:"ImportDriver=1" /p:"RemoveDriver=1" /p:"CertificateFile=Test7KMDF_vs2015_u2.cer" /p:"PackageGuid=x64" /p:"HardwareId=Root\Test7KMDF_vs2015_u2" /rebootStateFile:%SystemDrive%\DriverTest\Run\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Run\Driver_Preparation_00016.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated
[14:51:48:934]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0
[14:51:48:934]: Task "Driver Preparation" completed successfully
[14:51:49:622]: Driver Install
[14:51:49:622]: Removing any existing files from test execution folder.
[14:51:49:763]: Copying required files for "Driver Install".

$KitRoot$\Testing\Runtimes\TAEF\te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_RunProcess'" /p:"BinaryPath=%SystemDrive%\DriverTest\devcon.exe" /p:"Arguments=-f install %SystemDrive%\DriverTest\Drivers\Test7KMDF_vs2015_u2.inf Root\Test7KMDF_vs2015_u2" /p:"WorkingFolder=%SystemDrive%\DriverTest\Drivers" /rebootStateFile:%SystemDrive%\DriverTest\Run\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Run\Driver_Install_00008.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated
[14:51:58:653]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0
[14:51:58:653]: Task "Driver Install" completed successfully
[14:51:59:028]: Driver Post Install Actions
[14:51:59:028]: Removing any existing files from test execution folder.
[14:51:59:075]: Copying required files for "Driver Post Install Actions".

$KitRoot$\Testing\Runtimes\TAEF\te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_DriverPostInstall'" /rebootStateFile:%SystemDrive%\DriverTest\Run\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Run\Driver_Post_Install_Actions_00017.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated
[14:52:07:560]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0
[14:52:07:575]: Task "Driver Post Install Actions" completed successfully

【问题讨论】:

  • 我也有这样的问题。你找到解决办法了吗?
  • 当我尝试闯入 Windows 10 目标时,我也会遇到这种情况,当我尝试附加内核进程时打开了 winsock 2.0 并等待永远重新连接...
  • 您是否尝试过手动设置网络内核调试,如下所述:docs.microsoft.com/en-us/windows-hardware/drivers/debugger/…

标签: visual-studio-2015 driver windows-10 kmdf


【解决方案1】:

花了一天的时间后,我发现了一些对我有用的东西。

注意:我为主机和目标机器使用了静态 IP 连接。

第 1 步

在主机上配置目标设备(使用 Visual Studio)以在目标上部署之前。在Target Machine启动时

具有高级安全性的 Windows 防火墙

检查

Windows 防火墙属性

中,私有公共简介设置 p>

入站连接

允许。我还通过将所有域、公共和私有配置文件的防火墙状态设置为“关闭”来禁用防火墙。

Firewall Properties

第 2 步

a) 使用 Visual Studio 解决方案资源管理器在 主机 上配置目标设备。确保您设置了目标机器以太网适配器的正确总线参数。查看目标机器上网络适配器的设备管理器以检查您需要设置的总线参数。

b) 当您启动调试器时,它会在目标机器上部署驱动程序之前的最后一步停止。您将看到以下消息...

等待完成.. 等待完成..

c) 检查目标机器上的静态 IP 设置;在驱动程序部署的最后阶段,这些会被空白条目覆盖。更正这些条目并确保您可以从目标 ping 主机,反之亦然。

d) 完成上述操作后,驱动程序部署完成,您不再看到 “等待完成” 消息(您可能会收到与设置还原点相关的错误。忽略它)

第 3 步

如果一切正常,您应该会在 调试器即时窗口

中看到以下消息
Using NET for debugging
Opened WinSock 2.0
Waiting to reconnect...
[10:59:06:155]: Remove Existing Remote Package
[10:59:06:582]: Task "Remove Existing Remote Package" completed successfully
[10:59:06:601]: Copy Driver Package
Connected to target 169.254.31.204 on port 50839 on local IP 192.168.1.2.

【讨论】:

    猜你喜欢
    • 2018-05-18
    • 2012-08-10
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    • 2016-03-25
    • 2018-04-27
    • 1970-01-01
    • 2015-10-11
    相关资源
    最近更新 更多