스마트 클라이언트 활성화
DbgSrv 프로세스 서버가 활성화되면 다른 컴퓨터에서 스마트 클라이언트를 만들고 디버깅 세션을 시작할 수 있습니다.
스마트 클라이언트를 시작하는 방법에는 -premote 명령줄 옵션CDB 또는 WinDbg를 시작하거나 WinDbg 그래픽 인터페이스를 사용하는 두 가지 방법이 있습니다.
중요하다
원격 디버깅을 사용하는 경우 중요한 보안 고려 사항이 있습니다. 보안 모드를 사용하는 방법에 대한 자세한 내용은 원격 디버깅
스마트 클라이언트의 프로토콜은 프로세스 서버의 프로토콜과 일치해야 합니다. 스마트 클라이언트를 시작하는 일반적인 구문은 사용되는 프로토콜에 따라 달라집니다. 다음과 같은 옵션이 있습니다.
몇 가지 추가 보안 사용하는 권장 연결 방법
Debugger -premote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] [Options]
Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] [Options]
Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] [Options]
Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options]
보안되지 않은 연결 메서드
Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options]
Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options]
Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options]
그래픽 인터페이스를 사용하여 프로세스 서버에 연결하려면 WinDbg가 휴면 모드여야 합니다. 명령줄 매개 변수 없이 시작되었거나 이전 디버깅 세션을 종료해야 합니다. 파일 선택 | 원격 스텁 메뉴 명령에 연결합니다. 원격 스텁 서버에 연결 대화 상자가 나타나면 연결 문자열 텍스트 상자에 다음 문자열 중 하나를 입력합니다.
몇 가지 추가 보안 사용하는 권장 연결 방법
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]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,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]
또는 찾아보기 단추를 사용하여 활성 프로세스 서버를 찾을 수 있습니다.
매개 변수
이전 명령의 매개 변수에는 다음과 같은 가능한 값이 있습니다.
디버거
CDB 또는 WinDbg일 수 있습니다.
Server
프로세스 서버를 만든 컴퓨터의 네트워크 이름 또는 IP 주소입니다. 두 개의 초기 백슬라이시(\)는 명령줄에서 선택 사항이지만 WinDbg 대화 상자에서는 허용되지 않습니다.
pipe=PipeName
NPIPE 또는 SPIPE 프로토콜을 사용하는 경우 PipeName 프로세스 서버를 만들 때 파이프에 지정된 이름입니다.
서버 컴퓨터에 액세스할 수 있는 계정으로 클라이언트 컴퓨터에 로그온하지 않은 경우 사용자 이름과 암호를 제공해야 합니다. 클라이언트 컴퓨터의 명령 프롬프트 창에서 다음 명령을 입력합니다.
net use \\Server\ipc$ /user:UserName
여기서 Server 서버 컴퓨터의 이름이고 UserName 서버 컴퓨터에 액세스할 수 있는 계정의 이름입니다.
메시지가 표시되면 UserName암호를 입력합니다.
이 명령이 성공하면 -premote 명령줄 옵션을 사용하거나 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"를 지정합니다.
ipversion=6
(Windows 6.6.07 및 이전 버전 전용 디버깅 도구) TCP를 사용하여 인터넷에 연결할 때 디버거가 버전 4가 아닌 IP 버전 6을 사용하도록 합니다. Windows Vista 이상 버전에서 디버거는 IP 버전 6으로 자동 기본값을 설정하려고 시도하므로 이 옵션이 필요하지 않습니다.
옵션
여기에 추가 명령줄 매개 변수를 배치할 수 있습니다. 전체 목록은 Command-Line 옵션 참조하세요. CDB를 사용하는 경우 디버그하려는 프로세스를 지정해야 합니다. WinDbg를 사용하는 경우 명령줄 또는 그래픽 인터페이스를 통해 프로세스를 지정할 수 있습니다.
프로세스 서버는 단순히 스마트 클라이언트에 대한 게이트웨이 역할을 하므로 추가 옵션 대상 애플리케이션과 동일한 컴퓨터에서 사용자 모드 디버거를 시작한 경우 사용하는 것과 동일합니다.
.attach(프로세스에 연결) 또는 .create(프로세스 만들기)-premote 옵션을 사용하는 경우 매개 변수는 위에 나열된 매개 변수와 동일합니다.
문제 해결
이 메시지가 표시되는 경우: 클라이언트가 서버와 동일한 버전의 원격 프로토콜을 사용하고 이는 연결하려는 DbgSrv 버전이 WinDbg 버전과 다른 프로토콜 버전을 사용하고 있음을 나타냅니다.
프로토콜 변경이 이루어지는 것은 드문 일입니다. 이 경우 사용 가능한 최신 버전의 DbgSrv 및 WinDbg(클래식) 또는 WinDbg의 일치하는 버전을 사용하고 있는지 확인합니다. 최신 버전을 다운로드하는 방법에 대한 자세한 내용은 windows