다음을 통해 공유


.server(디버깅 서버 만들기)

.server 명령은 디버깅 서버를 시작하여 현재 디버깅 세션에 대한 원격 연결을 허용합니다.

.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 
.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] 
.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] 
.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 
.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] 
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] 
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] 

매개 변수

PipeName
NPIPE 또는 SPIPE 프로토콜을 사용하는 경우 PipeName 은 파이프의 이름으로 사용할 문자열입니다. 각 파이프 이름은 고유한 디버깅 서버를 식별해야 합니다. 파이프 이름을 다시 사용하려고 하면 오류 메시지가 표시됩니다. PipeName 에는 공백이나 따옴표가 포함되어서는 안 됩니다. PipeName 에는 %x 또는 %d와 같은 숫자 printf 스타일 형식 코드가 포함될 수 있습니다. 디버거는 이를 디버거의 프로세스 ID로 바꿉니다. 이러한 두 번째 코드는 디버거의 스레드 ID로 바뀝니다.

소켓
TCP 또는 SSL 프로토콜을 사용하는 경우 소켓 은 소켓 포트 번호입니다.

콜론으로 구분된 포트 범위를 지정할 수도 있습니다. 디버거는 이 범위의 각 포트를 확인하여 무료인지 확인합니다. 사용 가능한 포트를 찾고 오류가 발생하지 않으면 디버깅 서버가 만들어집니다. 디버깅 클라이언트는 서버에 연결하는 데 사용되는 실제 포트를 지정해야 합니다. 실제 포트를 확인하려면 디버깅 서버 검색에 설명된 메서드를 사용합니다. 이 디버깅 서버가 표시되면 포트 뒤에 콜론으로 구분된 두 개의 숫자가 붙습니다. 첫 번째 숫자는 사용되는 실제 포트입니다. 두 번째는 무시할 수 있습니다. 예를 들어 포트가 port=51:60으로 지정되고 포트 53이 실제로 사용된 경우 검색 결과에 "port=53:60"이 표시됩니다. (clicon 매개 변수를 사용하여 역방향 연결을 설정하는 경우 디버깅 클라이언트는 이러한 방식으로 포트 범위를 지정할 수 있지만 서버는 사용되는 실제 포트를 지정해야 합니다.)

clicon=Client
TCP 또는 SSL 프로토콜을 사용하고 clicon 매개 변수를 지정하면 역방향 연결이 열립니다. 즉, 디버깅 서버는 클라이언트가 연락처를 시작하도록 하는 대신 디버깅 클라이언트에 연결하려고 합니다. 일반적인 방향으로 연결을 차단하는 방화벽이 있는 경우 유용할 수 있습니다. 클라이언트 는 디버깅 클라이언트가 존재하거나 생성될 컴퓨터의 네트워크 이름을 지정합니다. 두 개의 초기 백슬라이시(\)는 선택 사항입니다.

clicon을 사용하는 경우 일반적인 순서(클라이언트 이전 서버)도 허용되지만 디버깅 서버를 만들기 전에 디버깅 클라이언트를 시작하는 것이 가장 좋습니다. 다른 디버거가 모든 활성 서버를 표시하면 역방향 연결 서버가 표시되지 않습니다.

COMPort
COM 프로토콜을 사용하는 경우 COMPort 는 사용할 COM 포트를 지정합니다. 접두사 COM은 선택 사항입니다(예: "com2" 및 "2"는 모두 허용됨).

BaudRate
COM 프로토콜을 사용하는 경우 BaudRate 는 연결이 실행되는 전송 속도를 지정합니다. 하드웨어에서 지원하는 모든 전송 속도는 허용됩니다.

COMChannel
COM 프로토콜을 사용하는 경우 COMChannel 은 디버깅 클라이언트와 통신하는 데 사용할 COM 채널을 지정합니다. 0에서 254 사이의 값(포함)일 수 있습니다.

프로토콜
SSL 또는 SPIPE 프로토콜을 사용하는 경우 프로토콜 은 S-채널(Secure Channel) 프로토콜을 지정합니다. tls1, pct1, ssl2 또는 ssl3 문자열 중 하나일 수 있습니다.

인증서
SSL 또는 SPIPE 프로토콜을 사용하는 경우 Cert 는 인증서를 지정합니다. 인증서 이름 또는 인증서의 지문(인증서의 스냅인에서 제공하는 16진수 문자열)일 수 있습니다. certuser=Cert 구문을 사용하는 경우 디버거는 시스템 저장소(기본 저장소)에서 인증서를 조회합니다. 구문 machuser=Cert 를 사용하는 경우 디버거는 컴퓨터 저장소에서 인증서를 조회합니다. 지정된 인증서는 서버 인증을 지원해야 합니다.

숨겨진
다른 디버거가 모든 활성 서버를 표시할 때 서버가 표시되지 않도록 합니다.

password=Password
디버깅 세션에 연결하려면 디버깅 클라이언트가 지정된 암호를 제공해야 합니다. 암호 는 최대 12자까지의 영숫자 문자열일 수 있습니다.

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

IcfEnable
인터넷 연결 방화벽이 활성 상태일 때 디버거가 TCP 또는 명명된 파이프 통신에 필요한 포트 연결을 사용하도록 설정합니다. 기본적으로 인터넷 연결 방화벽은 이러한 프로토콜에서 사용하는 포트를 사용하지 않도록 설정합니다. IcfEnable을 TCP 연결과 함께 사용하는 경우 디버거는 Windows에서 Socket 매개 변수로 지정된 포트를 열게 합니다. IcfEnable을 명명된 파이프 연결과 함께 사용하는 경우 디버거는 Windows에서 명명된 파이프에 사용되는 포트(포트 139 및 445)를 엽니다. 디버거는 연결이 종료된 후 이러한 포트를 닫지 않습니다.

환경

항목 설명
모드 사용자 모드, 커널 모드
대상 라이브, 크래시 덤프
플랫폼 모두

추가 정보

디버깅 서버를 시작하는 방법에 대한 자세한 내용은 디버깅 서버 활성화를 참조 하세요. 예제는 클라이언트 및 서버 예제를 참조 하세요.

설명

이 명령은 현재 디버거를 디버깅 서버로 바꿉니다. 이렇게 하면 디버거가 이미 실행된 후 서버를 시작할 수 있지만 -server 명령줄 옵션은 디버거가 시작될 때만 실행할 수 있습니다.

이렇게 하면 디버깅 클라이언트가 현재 디버깅 세션에 연결할 수 있습니다. 다양한 옵션을 사용하여 여러 서버를 시작할 수 있으므로 다양한 종류의 디버깅 클라이언트가 세션에 참가할 수 있습니다.