我正在开始一个包含Windows微型filter的原型。 我已经build立了我的环境:
我终于设法将testing小型filter部署到目标机器上,但是我的问题是:
我不能打破目标机器上的内核。
当我进行构build并从Visual Studio Debugger启动时,结果如下:
----------------------------------------------------------------------- ----------------------------------------------------------------------- Starting New Debugger Session ----------------------------------------------------------------------- ----------------------------------------------------------------------- Microsoft (R) Windows Debugger Version 6.3.9600.16384 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. MONTLUC\pascal (npipe WinIDE_01CED6303D19BD92) connected at Thu Oct 31 12:56:31 2013 Microsoft (R) Windows Debugger Version 6.3.9600.16384 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. Waiting for pipe \\montlucw81x64\pipe\dbg Waiting to reconnect... [12:56:32:860]: Removing any existing files from the remote driver folder [12:56:33:121]: Removing any existing files from test execution folder te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_DriverRemoval'" /p:"InfFile=passThrough.inf" /p:"Debug=1" /p:"ImportDriver=1" /p:"RemoveDriver=1" /p:"CertificateFile=package.cer" /p:"PackageGuid={A23BA0FC-7265-4E3C-B99F-1E7A04AD970D}" /rebootStateFile:%SystemDrive%\DriverTest\Logs\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Logs\Driver_Removal_(x64)_(possible_reboot)_00060.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated [12:56:56:926]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0 [12:56:57:457]: Removing any existing files from test execution folder te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_DriverPreparation'" /p:"InfFile=passThrough.inf" /p:"Debug=1" /p:"ImportDriver=1" /p:"RemoveDriver=1" /p:"CertificateFile=package.cer" /p:"PackageGuid={A23BA0FC-7265-4E3C-B99F-1E7A04AD970D}" /rebootStateFile:%SystemDrive%\DriverTest\Logs\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Logs\Driver_Preparation_(x64)_(possible_reboot)_00060.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated [12:57:00:437]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0 [12:57:00:893]: Removing any existing files from test execution folder te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_RunProcess'" /p:"BinaryPath=rundll32" /p:"Arguments=setupapi,InstallHinfSection DefaultInstall 132 C:\DriverTest\Drivers\passthrough.inf" /p:"ExitCodes=0" /p:"WorkingFolder=%SystemDrive%\DriverTest\Drivers" /p:"LogOutput=1" /rebootStateFile:%SystemDrive%\DriverTest\Logs\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Logs\Driver_Install_(x64)_(possible_reboot)_00025.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated [12:57:03:916]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0 [12:57:04:418]: Removing any existing files from test execution folder te.exe "%SystemDrive%\DriverTest\Run\DriverTestTasks.dll" /select:"@Name='DriverTestTasks::_DriverPostInstall'" /rebootStateFile:%SystemDrive%\DriverTest\Logs\DriverTestReboot.xml /enableWttLogging /wttDeviceString:$LogFile:file="%SystemDrive%\DriverTest\Logs\Driver_Post_Install_Actions_(x64)_(possible_reboot)_00060.wtl",writemode=append,encoding=unicode,nofscache=true,EnableLvl="WexStartTest|WexEndTest|WexXml|WexProperty|WexCreateContext|WexCloseContext|*" /runas:Elevated [12:57:06:139]: Result Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0 [12:57:06:564]: Driver Installation summary: [12:57:06:566]: Driver Removal (x64) (possible reboot): Pass [12:57:06:571]: Driver Preparation (x64) (possible reboot): Pass [12:57:06:578]: Driver Install (x64) (possible reboot): Pass [12:57:06:586]: Driver Post Install Actions (x64) (possible reboot): Pass
而当我试图打破,没有任何反应。
当我直接连接到内核(使用VS菜单“debugging” – >“附加到进程” – >“内核debugging” – >“附加”,我得到这个:
----------------------------------------------------------------------- ----------------------------------------------------------------------- Starting New Debugger Session ----------------------------------------------------------------------- ----------------------------------------------------------------------- Microsoft (R) Windows Debugger Version 6.3.9600.16384 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. MONTLUC\pascal (npipe WinIDE_01CED630A522D2F5) connected at Thu Oct 31 12:59:26 2013 Microsoft (R) Windows Debugger Version 6.3.9600.16384 AMD64 Copyright (c) Microsoft Corporation. All rights reserved. Waiting for pipe \\montlucw81x64\pipe\dbg Waiting to reconnect...
但是,再一次,不可能打破。
我试过了 :
但是我总是得到相同的结果:不可能打破这个!@#kernel!
Google不是我的朋友,我找不到任何类似的问题。
所以现在我想知道:
任何想法的欢迎!
编辑 :我做了一个真正的目标机器,而不是一个虚拟的testing,我有同样的问题,所以这是不相关的Hyper-V。
我解决了我的问题(我吮吸,所以我是)
简而言之,这里是两台机器如何配置内核调试。
A.目标机器(Hyper-V VM)
B.源机(托管目标的Hyper-V主机)
它工作得很好,在Visual Studio 2013下有很好的集成。感谢那些回答(没有人)的所有人…以及所有其他人阅读:)