다음을 통해 공유


디버깅 클라이언트 활성화

디버깅 서버가 활성화되면 다른 컴퓨터에서 디버깅 클라이언트를 시작하고 디버깅 세션에 연결할 수 있습니다.

디버깅 클라이언트를 시작하는 방법에는 -remote 명령줄 옵션을 사용하거나 WinDbg 그래픽 인터페이스를 사용하는 두 가지 방법이 있습니다.

클라이언트의 프로토콜은 서버의 프로토콜과 일치해야 합니다. 디버깅 클라이언트를 시작하기 위한 일반적인 구문은 사용되는 프로토콜에 따라 달라집니다. 다음과 같은 옵션이 있습니다.

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] 

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] 

그래픽 인터페이스를 사용하여 원격 디버깅 세션에 연결하려면 WinDbg가 유휴 모드여야 합니다. 명령줄 매개 변수 없이 시작되었거나 이전 디버깅 세션을 종료해야 합니다. 파일 선택 | 원격 세션 메뉴 명령에 연결하거나 Ctrl+R 바로 가기 키를 누릅니다. 원격 디버거 세션에 연결 대화 상자가 나타나면 연결 문자열 텍스트 상자에 다음 문자열 중 하나를 입력합니다.

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] 

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] 

또는 찾아보기 단추를 사용하여 활성 디버깅 서버를 찾을 수 있습니다.

이전 명령의 매개 변수에는 다음과 같은 가능한 값이 있습니다.

디버거
디버깅 클라이언트에서 사용하는 것과 동일한 디버거일 필요는 없습니다. WinDbg, KD 및 CDB는 모두 디버거를 통한 원격 디버깅을 위해 서로 교환할 수 있습니다.

서버
디버깅 서버를 만든 컴퓨터의 네트워크 이름 또는 IP 주소입니다. 두 개의 초기 백슬라이시(\)는 명령줄에서 선택 사항이지만 WinDbg 대화 상자에서는 허용되지 않습니다.

pipe=PipeName
NPIPE 또는 SPIPE 프로토콜을 사용하는 경우 PipeName 은 서버를 만들 때 파이프에 지정된 이름입니다.

서버 컴퓨터에 액세스할 수 있는 계정으로 클라이언트 컴퓨터에 로그온하지 않은 경우 사용자 이름과 암호를 제공해야 합니다. 클라이언트 컴퓨터의 명령 프롬프트 창에서 다음 명령을 입력합니다.

net use \\Server\ipc$ /user:UserName

여기서 Server 는 서버 컴퓨터의 이름이고 UserName 은 서버 컴퓨터에 액세스할 수 있는 계정의 이름입니다.

메시지가 표시되면 UserName에 대한 암호를 입력합니다.

이 명령이 성공하면 -remote 명령줄 옵션을 사용하거나 WinDbg 그래픽 인터페이스를 사용하여 디버깅 클라이언트를 활성화할 수 있습니다.

참고 서버 컴퓨터에서 파일 및 프린터 공유를 사용하도록 설정해야 할 수 있습니다. 제어판 네트워크 및 인터넷 > 네트워크 및 공유 센터> 고급 공유 설정으로 이동합니다. 파일 및 프린터 공유 켜기를 선택합니다.

port=Socket
TCP 또는 SSL 프로토콜을 사용하는 경우 소켓 은 서버를 만들 때 사용한 것과 동일한 소켓 포트 번호입니다.

clicon
디버깅 서버가 역방향 연결을 통해 클라이언트에 연결을 시도하도록 지정합니다. 서버가 clicon 을 사용하는 경우에만 클라이언트는 clicon을 사용해야 합니다. 대부분의 경우 역방향 연결을 사용할 때 디버깅 서버 전에 디버깅 클라이언트가 시작됩니다.

port=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 매개 변수를 사용해야 합니다.

password=Password
서버를 만들 때 암호를 사용한 경우 디버깅 클라이언트를 만들려면 암호를 제공해야 합니다. 원래 암호와 일치해야 합니다. 암호는 대소문자를 구분합니다. 잘못된 암호를 제공하면 오류 메시지가 "오류 0x80004005"을 지정합니다. 암호는 12자 이하여야 합니다.

ipversion=6
(Windows 6.6.07 및 이전 버전용 디버깅 도구만 해당) TCP를 사용하여 인터넷에 연결할 때 디버거가 버전 4가 아닌 IP 버전 6을 사용하도록 합니다. Windows Vista 이상 버전에서 디버거는 IP 버전 6으로 자동 기본값을 설정하려고 시도하므로 이 옵션은 필요하지 않습니다.

새 디버깅 세션을 시작하는 데 사용되는 명령줄 옵션(예: -p)은 디버깅 클라이언트에서 사용할 수 없으며 서버에서만 사용할 수 있습니다. 구성 옵션(예: -n)은 클라이언트 또는 서버에서 작동합니다.