Tôi đang bắt đầu một mẫu thử nghiệm bao gồm cả bộ điều chỉnh Windows. Tôi đã thiết lập môi trường của tôi:Tôi không thể ngắt khi gắn vào máy đích trong chế độ gỡ lỗi hạt nhân
- một mục tiêu Virtual Machine (trên thực tế 3: Windows 7, 8 và 8.1)
- một máy phát triển máy chủ (nơi tổ chức Visual Studio 2013 và HyperV VM)
Cuối cùng tôi quản lý để triển khai minifilter thử nghiệm để các máy tính mục tiêu, nhưng vấn đề của tôi là:
tôi không thể phá vỡ các hạt nhân trong máy mục tiêu.
Khi tôi thực hiện một xây dựng và bắt đầu từ Visual Studio Debugger, đây là kết quả:
-----------------------------------------------------------------------
-----------------------------------------------------------------------
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
Và khi tôi cố gắng để phá vỡ, có gì xảy ra.
Khi tôi đính kèm trực tiếp vào kernel (sử dụng menu VS "Debug" -> "Đính kèm để xử lý" -> "Kernel gỡ rối" -> "Đính kèm", tôi có được điều này:
-----------------------------------------------------------------------
-----------------------------------------------------------------------
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...
Nhưng một lần nữa ., không thể phá vỡ
tôi đã cố gắng:
- tất cả các host mục tiêu (Windows 7, 8 và 8.1) và nhận được kết quả tương tự (và có, tất cả chúng được cấu hình đúng để gỡ lỗi hạt nhân)
- bằng cách sử dụng mạng thay vì đặt tên đường ống
- sử dụng WinDBG thay vì Visual Studio
Nhưng tôi luôn luôn nhận được kết quả tương tự: không thể phá vỡ này @ # kernel!
Google không phải là bạn của tôi, tôi không thể tìm thấy bất kỳ sự cố tương tự nào.
Vì vậy, bây giờ tôi đang tự hỏi:
- thể tôi được thực sự không kết nối với máy tính mục tiêu, bất chấp những gì debugger nói (nhưng công trình triển khai)?
- Có thể có vấn đề với HyperV và gỡ lỗi hạt nhân không?
Bất kỳ ý tưởng nào được chào đón!
Sửa: Tôi đã làm một thử nghiệm với một máy mục tiêu thực sự thay vì một ảo, và tôi có cùng một vấn đề, vì vậy đây không liên quan đến Hyper-V.