Visual Studio에서 WIndows Driver 개발시 가상머신을 타겟으로 해서 배포 및 커널 디버깅하기.

Windows 10에 맞춰서 드라이버 개발을 해보고자 환경 세팅중.

VS2013부터 Visual Studio에 windbg가 통합되어서 VS만으로 커널 디버깅이 가능해짐.

드라이버도 VS만으로 빌드가능. INF파일도 VS에서 생성해줌.

그래서 큰맘먹고 예전에 포기했던 드라이버 개발을 다시 해보기로 결심.

일단 처음엔 VS를 이용한 자동화 빌드,배포, 디버깅이 작동하지 않았다. 별 짓을 다 해봤는데 일단 하루는 날렸고 그래서 시리얼 포트를 이용한 수동 연결은 성공했으나 드라이버 배포 문제가 걸려 있어서 오늘 재시도.

삽질 결과 요약.

1. windbg없이 Visual Studio만으로 커널 디버깅 가능.

2. windbg가 통합되었고 VS의 immediate창에서 kd>프롬프트가 뜬다. windbg에서 사용하던 명령들이 인텔리센스 적용되어서 제공됨.

3. Hyper-V VM을 타겟으로 커널 디버깅 가능

4. 시리얼포트를 pipe로 맵핑해서 수동으로 커널 디버거 연결 가능.

5. VS2013이상이면 Driver -> Test ->Configure Devices에서 Provision Device and choose debugger settings로 완전 자동화된 타겟머신 설정이 가능.

6.이렇게 해놓고 나면 F5눌렀을때 자동으로 타겟머신에 드라이버 설치하고 커널 디버거 연결됨.VM과 Private Network(TCP)로 커널 디버깅 가능.

7.처음엔 작동이 안됐는데 VM의 Secure Boot를 끄지 않아서 안되었걸로 추측….아마도..

짱이다!!!!!!!!

8. 주의사항.

VM측 Secure Boot를 반드시 끈다.

VM측에 WDK Test Target Setup을 반드시 설치한다.

VM측 방화벽을 Private와 Domain에 한해서는 모두 허용한다.

호스트머신에서 Visual Studio를 실행할때 반드시 Admin권한으로 실행한다.

타겟 VM에 프로비저닝이 끝나면 recovery -> startup 설정에허 드라이버 sign확인을 끈다. 안그럼 설치를 못한다.

vm_kernel_dbg_net


답글 남기기

댓글을 게시하려면 다음의 방법 중 하나를 사용하여 로그인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중