2

these 지침을 사용하여 간단한 (소프트웨어) 드라이버를 만들려고합니다.KMDF 드라이버 디버깅 : "지정한 파일을 찾을 수 없습니다."

  • 호스트가 설치되어 완전히 업데이트 MSVS 익스프레스 2013
  • 최신 Windows 드라이버 키트와 작업 벌금 윈도우 7의 x64입니다.
  • 또한 Windows 7 x64가 설치된 가상 시스템은 VS에 의해 성공적으로 프로비저닝되고 정확히 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를 붙이는 것을 좋아하지 않고 다른 많은 문제들을 일으킨다.

나는 프로세스 모니터가 어떤 파일에 액세스하려고했는지 알아 보았지만 모든 작업을 수행하는 데 꽤 어려웠다.

내가 누락 된 항목이 있습니까? 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

edit1 : 호스트를 대상 시스템으로 새로 설치 했습니까? 지시 사항을 완벽하게 따르십시오 : 똑같은 오류. 전에는 아무도 만나지 못했습니까?

+0

@HansPassant http://msdn.microsoft.com/en-us/library/windows/hardware/dn653318(v=vs.85).aspx에 따르면 - 몇 가지 제한 사항이있는 표현식에서 올바르게 작동해야합니다. . 디버깅 할 수없는 것은 해당 목록의 일부가 아닙니다. 나는 잃어 버렸다. 내일 "디버거 디버거"경로를 다시 시도해 보겠습니다./ –

+0

또한 WDK 페이지 (http://msdn.microsoft.com/en-us/windows/hardware/hh852365.aspx)에서 VS 2013 Express는 기본적으로 찾을 수있는 첫 번째 다운로드 링크입니다. –

답변

-1

그래서 Visual Studio의 기본값은 Remote Debugger이 아닌 Kernel Debugger입니다. 이것을 변경해도 드라이버를 설치하고 설치했지만 빌드 프로세스가 영원히 멈추는 원인이되었습니다.

저는 KMDF 드라이버 작성을 포기한 대신 대신 SetWindowsHookEx을 통해 글로벌 후크를 선택합니다. 필자가 선호하는 것은 아니지만 Windows에서 커널 모드 드라이버를 작성하는 과정은 너무 귀찮습니다.