다음을 통해 공유


커널 디버거에서 사용자 모드 디버거 제어

사용자 모드 디버거에서 커널 디버거로 입력 및 출력을 리디렉션할 수 있습니다. 이 리디렉션을 사용하면 커널 디버거가 대상 컴퓨터에서 발생하는 특정 사용자 모드 디버깅 세션을 제어할 수 있습니다.

KD 또는 WinDbg를 커널 디버거로 사용할 수 있습니다. 이 시나리오에서는 WinDbg의 많은 친숙한 기능을 사용할 수 없습니다. 예를 들어 로컬 창, 디스어셈블리 창 또는 호출 스택 창을 사용할 수 없으며 소스 코드를 단계별로 실행할 수 없습니다. WinDbg는 대상 컴퓨터에서 실행되는 디버거(NTSD 또는 CDB)의 뷰어로만 작동하기 때문입니다.

CDB 또는 NTSD를 사용자 모드 디버거로 사용할 수 있습니다. NTSD는 애플리케이션을 디버그하는 컴퓨터의 프로세서 및 운영 체제에서 최소한의 리소스가 필요하기 때문에 더 나은 선택입니다. 실제로 커널 디버거의 제어 하에 NTSD가 시작되면 NTSD 창이 만들어지지 않습니다. NTSD를 사용하면 부팅 단계 초기 및 종료 후 늦게 직렬 포트를 통해 사용자 모드 디버깅을 수행할 수 있습니다.

참고 사용자 모드 디버거의 출력이 커널 디버거로 리디렉션될 때 .shell 명령은 지원되지 않습니다.

이 섹션에는 다음이 포함됩니다.

  • 디버깅 세션 시작 커널 디버거에서 사용자 모드 디버거가 제어되는 세션을 시작하는 방법을 설명합니다.

  • 전환 모드 관련된 4가지 모드와 모드 간을 번갈아 사용하는 방법을 설명합니다.

  • 이 기술을 사용하는 경우 이 기술이 특히 유용한 시나리오를 설명합니다.

  • 이 메서드를 원격 디버깅 결합하여 커널 디버거에서 사용자 모드 디버거를 제어하고 동시에 디버깅 서버로 사용하는 방법을 설명합니다. 이 조합은 사용자 모드 기호가 기호 서버에 있는 경우에 유용할 수 있습니다.