다음을 통해 공유


방화벽 2개

이 시나리오에서는 A 빌드의 컴퓨터에서 커널 디버깅을 수행해야 합니다. 기술자는 건물 C에 있으며, 거기에 기호에 액세스 할 수 있습니다. 그러나 두 건물에는 들어오는 연결을 허용하지 않는 방화벽이 있습니다.

중립 사이트(예: 건물 B)에서 반복기를 설정해야 합니다. 그런 다음 A를 B에 연결하고, C를 B에 연결할 수 있습니다.

이 시나리오에는 다음과 같은 4대의 컴퓨터가 포함됩니다.

  • 빌드 A에 있는 대상 컴퓨터입니다.

  • 빌드 A에 있는 로컬 호스트 컴퓨터입니다. 이 컴퓨터는 KD 연결 서버를 실행합니다. 디버그 케이블 또는 1394 케이블로 대상 컴퓨터에 연결한 후 리피터에 외부 연결됩니다. 이 컴퓨터의 IP 주소를 127.0.10.10으로 설정합니다.

  • B 빌드의 컴퓨터입니다. 그러면 반복기가 실행됩니다. IP 주소를 127.0.20.20으로 지정합니다.

  • 기술자가 있는 건물 C의 컴퓨터입니다. 이 컴퓨터는 WinDbg를 스마트 클라이언트로 실행합니다. IP 주소를 127.0.30.30으로 지정합니다.

먼저 대상 컴퓨터가 디버깅용으로 구성되어 있고 로컬 호스트 컴퓨터에 연결되어 있는지 확인합니다. 이 예제에서는 1394 케이블이 사용됩니다.

둘째, 127.0.20.20에서 프록시 리피터를 시작합니다.

dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10

셋째, 다음과 같이 A 빌드에서 127.0.10.10에서 KD 연결 서버를 시작합니다.

kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=Password

마지막으로, C 빌드에서 127.0.30.30에서 스마트 클라이언트를 시작합니다(이 작업은 실제로 A 빌드에서 서버를 시작하기 전이나 후에 수행할 수 있습니다.)

windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath

Five-Computer 시나리오

기호가 C 빌드의 한 컴퓨터에 있지만 기술자가 다른 컴퓨터에 있다고 가정하면 이 시나리오를 훨씬 더 복잡하게 만들 수 있습니다.

127.0.30.30에 이전과 같이 기호가 있고 해당 로컬 이름이 \\BOXC가정해 보겠습니다. 스마트 클라이언트는 위와 동일한 명령으로 시작할 수 있지만 추가 -server 매개 변수를 사용하여 시작할 수 있습니다. 아무도 이 컴퓨터를 사용하지 않으므로 WinDbg 대신 KD를 사용하는 경우 처리 시간이 줄어듭니다.

kd -server npipe:pipe=randomname -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath

그런 다음, 건물 내 다른 곳에서 기술자가 다음과 같이 디버깅 클라이언트를 시작할 수 있습니다.

windbg -remote npipe:server=\\BOXC,pipe=randomname

암호는 체인의 마지막 디버거가 아닌 체인의 첫 번째 비리피터인 \\BOXC스마트 클라이언트에서 제공해야 합니다.

중요하다

원격 디버깅을 사용하는 경우 중요한 보안 고려 사항이 있습니다. 보안 모드를 사용하는 방법에 대한 자세한 내용은 원격 디버깅 보안 및 Windows 디버깅 도구대한 보안 고려 사항을 참조하세요.