디버깅 클라이언트 활성화
디버깅 서버가 활성화되면 다른 컴퓨터에서 디버깅 클라이언트를 시작하고 디버깅 세션에 연결할 수 있습니다.
-remote 명령줄 옵션사용하거나 WinDbg 그래픽 인터페이스를 사용하여 디버깅 클라이언트를 시작하는 두 가지 방법이 있습니다.
클라이언트의 프로토콜은 서버의 프로토콜과 일치해야 합니다. 디버깅 클라이언트를 시작하는 일반적인 구문은 사용되는 프로토콜에 따라 달라집니다. 다음과 같은 옵션이 있습니다.
몇 가지 추가 보안 사용하는 권장 연결 방법
Debugger -remote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
Debugger -remote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
보안되지 않은 연결 메서드
Debugger -remote npipe:server=Server,pipe=PipeName[,password=Password]
Debugger -remote tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
Debugger -remote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
그래픽 인터페이스를 사용하여 원격 디버깅 세션에 연결하려면 WinDbg가 휴면 모드여야 합니다. 명령줄 매개 변수 없이 시작되었거나 이전 디버깅 세션을 종료해야 합니다. 파일 선택 | 원격 세션 메뉴 명령에 연결하거나 Ctrl+R 바로 가기 키를 누릅니다. 원격 디버거에 연결 세션 대화 상자가 나타나면 연결 문자열 텍스트 상자에 다음 문자열 중 하나를 입력합니다.
몇 가지 추가 보안 사용하는 권장 연결 방법
spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password]
ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password]
보안되지 않은 연결 메서드
npipe:server=Server,pipe=PipeName[,password=Password]
tcp:server=Server,port=Socket[,password=Password][,ipversion=6]
tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
또는 찾아보기 단추를 사용하여 활성 디버깅 서버를 찾을 수 있습니다.
중요하다
원격 디버깅을 사용하는 경우 중요한 보안 고려 사항이 있습니다. 보안 모드를 사용하는 방법에 대한 자세한 내용은 원격 디버깅
매개 변수
이전 명령의 매개 변수에는 다음과 같은 가능한 값이 있습니다.
디버거
디버깅 클라이언트에서 사용하는 것과 동일한 디버거일 필요는 없습니다. WinDbg, KD 및 CDB는 모두 디버거를 통한 원격 디버깅을 위해 서로 교환할 수 있습니다.
Server
디버깅 서버를 만든 컴퓨터의 네트워크 이름 또는 IP 주소입니다. 두 개의 초기 백슬라이시(\)는 명령줄에서 선택 사항이지만 WinDbg 대화 상자에서는 허용되지 않습니다.
pipe=PipeName
NPIPE 또는 SPIPE 프로토콜을 사용하는 경우 PipeName 서버를 만들 때 파이프에 지정된 이름입니다.
서버 컴퓨터에 액세스할 수 있는 계정으로 클라이언트 컴퓨터에 로그온하지 않은 경우 사용자 이름과 암호를 제공해야 합니다. 클라이언트 컴퓨터의 명령 프롬프트 창에서 다음 명령을 입력합니다.
net use \\Server\ipc$ /user:UserName
여기서 Server 서버 컴퓨터의 이름이고 UserName 서버 컴퓨터에 액세스할 수 있는 계정의 이름입니다.
메시지가 표시되면 UserName암호를 입력합니다.
이 명령이 성공하면 -remote 명령줄 옵션을 사용하거나 WinDbg 그래픽 인터페이스를 사용하여 디버깅 클라이언트를 활성화할 수 있습니다.
참고 서버 컴퓨터에서 파일 및 프린터 공유를 사용하도록 설정해야 할 수 있습니다. 제어판에서 네트워크 및 인터넷 > 네트워크 및 공유 센터> 고급 공유 설정이동합니다. 파일 및 프린터 공유켜기
포트=소켓
TCP 또는 SSL 프로토콜을 사용하는 경우 소켓 서버를 만들 때 사용한 것과 동일한 소켓 포트 번호입니다.
clicon
디버깅 서버가 역방향 연결을 통해 클라이언트에 연결을 시도하도록 지정합니다. 서버가 clicon사용하는 경우에만 클라이언트는 clicon 사용해야 합니다. 대부분의 경우 역방향 연결을 사용할 때 디버깅 서버 전에 디버깅 클라이언트가 시작됩니다.
포트=COMPort
COM 프로토콜을 사용하는 경우 COMPort 사용할 COM 포트를 지정합니다. 접두사 "COM"은 선택 사항입니다. 예를 들어 "com2" 및 "2"는 모두 허용됩니다.
baud=BaudRate
COM 프로토콜을 사용하는 경우 BaudRate 서버를 만들 때 선택한 전송 속도와 일치해야 합니다.
channel=COMChannel
COM 프로토콜을 사용하는 경우 COMChannel 서버를 만들 때 선택한 채널 번호와 일치해야 합니다.
proto=Protocol
SSL 또는 SPIPE 프로토콜을 사용하는 경우 프로토콜 서버를 만들 때 사용되는 보안 프로토콜과 일치해야 합니다.
인증서
SSL 또는 SPIPE 프로토콜을 사용하는 경우 서버를 만들 때 사용된 동일한 certuser=Cert 또는 machuser=Cert 매개 변수를 사용해야 합니다.
암호=암호
서버를 만들 때 암호를 사용한 경우 디버깅 클라이언트를 만들려면 암호 제공해야 합니다. 원래 암호와 일치해야 합니다. 암호는 대/소문자를 구분합니다. 잘못된 암호가 제공되면 오류 메시지가 "오류 0x80004005"를 지정합니다. 암호는 12자 이하여야 합니다.
ipversion=6
(Windows 6.6.07 및 이전 버전 전용 디버깅 도구) TCP를 사용하여 인터넷에 연결할 때 디버거가 버전 4가 아닌 IP 버전 6을 사용하도록 합니다. Windows Vista 이상 버전에서 디버거는 IP 버전 6으로 자동 기본값을 설정하려고 시도하므로 이 옵션이 필요하지 않습니다.
새 디버깅 세션을 시작하는 데 사용되는 명령줄 옵션(예: -p)은 디버깅 클라이언트에서 사용할 수 없으며 서버에서만 사용할 수 있습니다. 구성 옵션(예: -n)은 클라이언트 또는 서버에서 작동합니다.