Windows 서버 원격 디버깅
Visual Studio 2022 통합 개발 환경으로 Visual Studio Remote Debugger (msvsmon.exe
)를 사용하여 원격 Windows Server 환경에서 실행되는 ack 프로세스에 연결할 수 있습니다. Windows Server에 GUI 접근이 가능할 때 가장 쉽게 디버깅을 설정하고 연결하는 방법은 다음과 같습니다.
원격 디버깅 준비
원격 디버깅을 시작하기 전에, 디버깅할 대상 서버에 Visual Studio 원격 디버깅 도구를 설치하거나 복사해야 합니다.
- Visual Studio 설치 폴더에서 복사
Visual Studio가 설치된 PC의 다음 경로에서 원격 디버거 파일을 찾을 수 있습니다. 대상 서버의 아키텍처(x64, x86, Arm64)에 맞는 폴더를 사용하세요.
C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger\x64
x64
디렉토리 전체를 압축하여 원격 디버깅을 할 서버로 복사하거나, Microsoft 공식 링크에서 직접 원격 디버거 다운로드하여 대상 서버에 설치할 수도 있습니다.
원격 서버 설정
- 원격 디버거 실행
서버에 복사하거나 설치한 원격 디버거 폴더에서 msvsmon.exe
를 실행합니다. 처음 실행 시 방화벽 규칙을 구성하라는 메시지가 나타날 수 있습니다.
- 방화벽 포트 허용
원격 디버거는 통신을 위해 특정 포트를 사용합니다(기본값: 4026 for VS 2022). 이 포트가 방화벽에서 허용되어 있는지 확인해야 합니다.
msvsmon.exe
실행 시 자동으로 방화벽 규칙이 추가되지 않았다면, 수동으로 인바운드 규칙을 추가합니다.
- 고급 보안이 포함된 Windows Defender 방화벽 프로그램을 실행합니다.
- 인바운드 규칙 > 새 규칙...을 클릭합니다.
- 규칙 종류: 포트
- 프로토콜 및 포트: TCP, 특정 로컬 포트: 4026 (사용하는 버전에 맞게 입력)
- 작업: 연결 허용
- 프로필: 사용 환경에 맞는 프로필(예:
도메인
,개인
)을 선택합니다. - 이름:
Visual Studio Remote Debugger
와 같이 식별하기 쉬운 이름을 지정합니다.
디버거 연결
ack 프로그램이 원격 Windows Server에서 실행 중이라면 디 버거를 연결할 수 있습니다.
- Visual Studio에서 디버그(Debug) > 프로세스에 연결(Attach to Process...) 을 선택합니다.
- 연결 형식(Connection type) 을
원격(인증 없음)
또는기본값
으로 둡니다. - 연결 대상(Connection target) 에 서버의 IP 주소와 포트 번호를
IP주소:포트번호
형식으로 입력합니다. (예:192.168.1.100:4026
) - Enter 키를 누르거나
새로 고침
을 클릭하면, 원격 서버에서 실행 중인 프로세스 목록이 나타납니다. - 디버그할 프로세스를 찾습니다. 프로세스는 실행 파일 이름(
ack.exe
) 또는dotnet.exe
로 실행 중일 수 있습니다.제목
열에서 명령줄 인수를 확인하여 정확한 프로세스를 찾을 수 있습니다. - 원하는 프로세스를 더블 클릭하거나 선택 후
연결(Attach)
버튼을 클릭합니다.
이제 Visual Studio의 모든 디버깅 기능(중단점, 조사식, 호출 스택 등)을 사용하여 원격 앱을 디버그할 수 있습니다.