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