다음을 통해 공유


직렬 케이블을 통해 수동으로 커널 모드 디버깅 설정

Windows용 디버깅 도구는 null 모뎀 케이블을 통해 커널 디버깅을 지원합니다. Null 모뎀 케이블은 두 직렬 포트 간에 데이터를 보내도록 구성된 직렬 케이블입니다. Null 모뎀 케이블과 표준 직렬 케이블을 혼동하지 마세요. 표준 직렬 케이블은 직렬 포트를 서로 연결하지 않습니다. Null 모뎀 케이블을 연결하는 방법에 대한 자세한 내용은 Null-모뎀 케이블 배선을 참조 하세요.

디버거를 실행하는 컴퓨터를 호스트 컴퓨터라고 하며 디버깅 중인 컴퓨터를 대상 컴퓨터라고 합니다.

대상 컴퓨터 설정

Important

bcdedit를 사용하여 부팅 정보를 변경하기 전에 테스트 PC에서 BitLocker 및 보안 부팅과 같은 Windows 보안 기능을 일시적으로 일시 중단해야 할 수 있습니다. 디버깅을 완료하고 커널 디버깅을 사용하지 않도록 설정한 후에는 보안 부팅을 다시 사용하도록 설정할 수 있습니다.

  1. 대상 컴퓨터에서 관리자 권한으로 명령 프롬프트 창을 열고 다음 명령을 입력합니다. 여기서 n 은 대상 컴퓨터에서 디버깅에 사용되는 COM 포트의 수이며 속도 는 디버깅에 사용되는 전송 속도입니다.

    bcdedit /debug on

    bcdedit /dbgsettings serial debugport:n baudrate:rate

    참고 : 전송 속도 호스트 컴퓨터와 대상 컴퓨터에서 동일 해야 합니다. 권장 속도는 115200입니다.

  2. 대상 컴퓨터를 다시 부팅합니다.

디버깅 세션 시작

호스트 및 대상 컴퓨터에서 디버깅을 위해 선택한 COM 포트에 null 모뎀 케이블을 연결합니다.

WinDbg 사용

호스트 컴퓨터에서 WinDbg를 엽니다. 파일 메뉴에서 커널 디버그를 선택합니다. 커널 디버깅 대화 상자에서 COM 탭을 엽니다. 전송 속도 상자에 디버깅을 위해 선택한 속도를 입력합니다. 포트 상자에 COMn을 입력합니다. 여기서 n은 호스트 컴퓨터에서 디버깅을 위해 선택한 COM 포트 번호입니다. 확인을 선택합니다.

명령 프롬프트 창에서 다음 명령을 입력하여 WinDbg로 세션을 시작할 수도 있습니다. n 은 호스트 컴퓨터에서 디버깅하는 데 사용되는 COM 포트의 수이며 속도 는 디버깅에 사용되는 전송 속도입니다.

windbg -k com:port=COMn,baud=rate

KD 사용

호스트 컴퓨터에서 명령 프롬프트 창을 열고 다음 명령을 입력합니다. 여기서 n 은 호스트 컴퓨터에서 디버깅에 사용되는 COM 포트의 수이며 속도 는 디버깅에 사용되는 전송 속도입니다.

kd -k com:port=COMn,baud=rate

환경 변수 사용

호스트 컴퓨터에서 환경 변수를 사용하여 COM 포트 및 전송 속도를 지정할 수 있습니다. 그런 다음 디버깅 세션을 시작할 때마다 포트 및 전송 속도를 지정할 필요가 없습니다. 환경 변수를 사용하여 COM 포트 및 전송 속도를 지정하려면 명령 프롬프트 창을 열고 다음 명령을 입력합니다. 여기서 n 은 호스트 컴퓨터에서 디버깅에 사용되는 COM 포트의 수이며 속도 는 디버깅에 사용되는 전송 속도입니다.

  • set _NT_DEBUG_PORT=COMn
  • set _NT_DEBUG_BAUD_RATE=rate

디버깅 세션을 시작하려면 명령 프롬프트 창을 열고 다음 명령 중 하나를 입력합니다.

  • kd
  • windbg

직렬 케이블을 통한 디버깅에 대한 문제 해결 팁

호스트 및 대상 모두에 올바른 COM 포트 지정

호스트 및 대상 컴퓨터에서 디버깅하는 데 사용하는 COM 포트 수를 결정합니다. 예를 들어 호스트 컴퓨터의 COM1과 대상 컴퓨터의 COM2에 Null 모뎀 케이블이 연결되어 있다고 가정합니다.

대상 컴퓨터에서 관리자 권한으로 명령 프롬프트 창을 열고 bcdedit /dbgsettings를 입력 합니다. 대상 컴퓨터에서 COM2를 사용하는 경우 bcdedit출력이 표시됩니다debugport 2.

호스트 컴퓨터에서 디버거를 시작하거나 환경 변수를 설정할 때 올바른 COM 포트를 지정합니다. 호스트 컴퓨터에서 COM1을 사용하는 경우 다음 방법 중 하나를 사용하여 COM 포트를 지정합니다.

  • WinDbg의 커널 디버깅 대화 상자에서 포트 상자에 COM1을 입력합니다.
  • windbg -k com:port=COM1, ...
  • kd -k com:port=COM1, ...
  • set _NT_DEBUG_PORT=COM1

전송 속도는 호스트 및 대상에서 동일해야 합니다.

직렬 케이블을 통해 디버깅하는 데 사용되는 전송 속도는 호스트 및 대상 컴퓨터에서 동일한 값으로 설정해야 합니다. 예를 들어 115200의 전송 속도를 선택한다고 가정해 보겠습니다.

대상 컴퓨터에서 관리자 권한으로 명령 프롬프트 창을 열고 bcdedit /dbgsettings를 입력 합니다. bcdedit출력이 표시됩니다baudrate 115200.

호스트 컴퓨터에서 디버거를 시작하거나 환경 변수를 설정할 때 올바른 전송 속도를 지정합니다. 다음 방법 중 하나를 사용하여 115200의 전송 속도를 지정합니다.

  • WinDbg의 커널 디버깅 대화 상자에서 전송 속도 상자에 115200을 입력합니다.
  • windbg -k ..., baud=115200
  • kd -k ..., baud=115200
  • set _NT_DEBUG_BAUD_RATE=115200

Null 모뎀 케이블 배선

다음 표에서는 null 모뎀 케이블을 연결하는 방법을 보여 줍니다.

9핀 커넥터

커넥터 1 커넥터 2 신호
2 3 Tx - Rx
3 2 Rx - Tx
7 8 RTS - CTS
8 7 CTS - RTS
4 1+6 DTR - (CD+DSR)
1+6 4 (CD+DSR) - DTR
5 5 신호 접지

25핀 커넥터

커넥터 1 커넥터 2 신호
2 3 Tx - Rx
3 2 Rx - Tx
4 5 RTS - CTS
5 4 CTS - RTS
6 20 DSR - DTR
20 6 DTR - DSR
7 7 신호 접지

신호 약어

약어 Signal
Tx 데이터 전송
Rx 데이터 받기
RTS 보내기 요청
CTS 보낼 지우기
DTR 데이터 터미널 준비
DSR 데이터 세트 준비
CD 이동 통신 사업자 검색

추가 정보

bcdedit 명령에 대한 전체 설명서는 BCDEdit 옵션 참조를 참조하세요.

참고 항목

수동으로 커널 모드 디버깅 설정