커널 디버거 사용자 모드 디버깅을제어하는 방법에 대한 이 설명서에서 대상 애플리케이션 디버그 중인 사용자 모드 애플리케이션을 참조합니다. 대상 컴퓨터 대상 애플리케이션과 NTSD 또는 CDB 프로세스가 포함된 컴퓨터를 참조하고, 호스트 컴퓨터 커널 디버거가 포함된 컴퓨터를 참조합니다.
이 기술을 사용하려면 다음을 수행해야 합니다. 두 순서로 1단계와 2단계를 수행할 수 있습니다.
-d 명령줄 옵션을 사용하여 대상 컴퓨터에서 NTSD 또는 CDB를 시작합니다.
예를 들어 다음 구문을 사용하여 실행 중인 프로세스에 연결할 수 있습니다.
ntsd -d [-yUserSymbolPath] -pPID
또는 다음 구문을 사용하여 새 프로세스를 대상으로 시작할 수 있습니다.
ntsd -d [-yUserSymbolPath]ApplicationName
포스트모템 디버거로 설치하는 경우 다음 구문을 사용합니다.
ntsd -d [-yUserSymbolPath]
이 단계에 대한 자세한 내용은 CDB 사용하여 User-Mode 프로세스 디버깅참조하세요.
대상 컴퓨터를 디버그하려는 것처럼 호스트 컴퓨터에서 WinDbg 또는 KD를 시작하지만 실제로 대상 컴퓨터에 침입하지는 않습니다. WinDbg를 사용하려면 다음 구문을 사용합니다.
windbg [-yKernelSymbolPath] [-kConnectionOptions]
이 단계에 대한 자세한 내용은 WinDbg(클래식) 사용하여Live Kernel-Mode 디버깅을 참조하세요.
참고 WinDbg를 커널 디버거로 사용하는 경우 이 시나리오에서는 WinDbg의 친숙한 많은 기능을 사용할 수 없습니다. 예를 들어 로컬 창, 디스어셈블리 창 또는 호출 스택 창을 사용할 수 없으며 소스 코드를 단계별로 실행할 수 없습니다. WinDbg는 대상 컴퓨터에서 실행되는 디버거(NTSD 또는 CDB)의 뷰어로만 작동하기 때문입니다.
사용자 모드 기호 경로를 설정하지 않은 경우 입력> 프롬프트에서 설정합니다. 커널 모드 기호 경로를 설정하지 않은 경우 kd> 프롬프트에서 설정합니다. 이러한 프롬프트에 액세스하고 모드 간을 전환하는 방법에 대한 자세한 내용은 모드 전환참조하세요.
CDB를 사용하는 경우 디버깅을 계속하는 동안 CDB와 연결된 명령 프롬프트 창이 잠겨 있고 사용할 수 없습니다. NTSD를 사용하는 경우 NTSD에 대상 컴퓨터에 연결된 프로세스 ID가 있더라도 추가 창이 만들어지지 않습니다.
커널 디버거에서 사용자 모드 디버거를 실행하는 동시에 디버깅 서버로 사용하려는 경우 이 메서드와 원격 디버깅결합을 참조하세요.