차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
dotnet:remote_debugger:index [2026/06/09 20:03] – created admindotnet:remote_debugger:index [2026/06/09 20:19] (현재) – [초보자 컬럼] admin
줄 1: 줄 1:
-====== Remote .NET Debugger Visual Studio 확장 ======+====== 컴파일 Remote .NET Debugger  ====== 
 +===== Visual Studio용 Remote .NET Debugger 확장 =====
  
-Visual Studio에서 F5를 눌러 프로그램을 실행하면, 일반적으로는 개발 PC에서 프로그램이 실행니다.+ComfilePi와 같은 원격 장치에서 실행 중인 .NET 5 이상 응용 프로그램은 수동으로 배포하고 실행한 뒤 디버거를 연결하여 디버깅할 수 있습니다. 
  
-하지만 jPC와 같은 원격 장치서 프로그램을 행하고 디버깅하려면 다음과 같은 작업을 순서대로 수행해야 합니다.+하지만 Visual Studio 는 이러한 과정을 한 번에 수행하는 기능이 기본적으로 제공되지 않습니다.
  
-  * 프로그램 빌드 +ComfileTech Remote .NET Debugger는 이러한 불편함을 해결하기 위해 개발된 Visual Studio 확장 프로그램입니다. 이 확장 프로그램을 설치하면 Visual Studio에서 버튼 클릭 또는 F5 키만으로 다음 작업을 자동으로 수행할 수 있습니다. 
-  * 원격 장치로 파일 전송 + 
-  * 원격 장치에서 프로그램 실행+  응용 프로그램 빌드 
 +  * 원격 장치로 배포 
 +  * 응용 프로그램 실행
   * 디버거 연결   * 디버거 연결
  
-이 과정은 수동으로도 가능하지만, 매번 반복하기는 번거롭습니다.+를 통해 로컬 PC에서 개발하는 것과 유사한 방식으로 원격 장치서 실행 중인 .NET 응용 프로그램을 디버깅할 수 있습니다.
  
-ComfileTech Remote .NET Debugger는 러한 과정을 자동화하기 위해 개발된 Visual Studio 확장 프로그램니다.+이 확장 프로그램은 .NET 5 이상을 지원합니다.
  
-확장 프로그램을 설치하면 Visual Studio에서 F5 키를 누르는 것만으로 프로그램을 원격 장치에 배포하고 실행한 뒤, 디버거까지 자동으로 연결할 수 있습니다. 
  
-즉, 컬 PC에서 개발하는 것과 거의 동일한 방식으로 jPC에서 실행 중인 .NET 응용 프로그램을 디버깅할 수 있습니다.+===== 다운드 및 설치 ===== 
 + 
 +^ 다운로드 ^ 날짜 ^  
 +| {{ https://downloads.comfiletech.com/ComfilePi/remote_dotnet_debugger/comfiletech.remotedotnetdebugger_v1.5.vsix|ComfileTech.RemoteDotnetDebugger_v1.5.vsix}} | 2026-01-28 |  
 +설치하려면 Visual Studio를 모두 종료한 후 ''.vsix'' 파일을 더블 클릭하면 됩니다. 
 + 
 +===== 요구 사항 ===== 
 + 
 +==== 개발 PC ==== 
 + 
 +  * Windows 10 이상 (64비트) 
 +  * Visual Studio 2022 또는 Visual Studio 2026 
 + 
 +==== 대상 장치 ==== 
 + 
 +  * SSH 서버 실행 중 
 +  * .NET Runtime 또는 .NET SDK 설치 
 +  * ''vsdbg'' 설치 
 + 
 +''vsdbg'' 설치 방법은 [[#vsdbg_설치|vsdbg 설치]] 항목을 참고하시기 바랍니다. 
 + 
 +===== SSH 인증 ===== 
 + 
 +보안상의 이유로 Windows에 포함된 OpenSSH는 비밀번호를 코드에 저장하여 사용하는 인증 방식을 허용하지 않습니다. 
 + 
 +따라서 본 확장 프로그램을 사용하려면 개발 PC와 원격 장치 간의 SSH 인증이 공개키(Public Key)와 개인키(Private Key)를 이용하는 방식으로 구성되어 있어야 합니다. 
 + 
 +ComfilePi 또는 Raspberry Pi를 사용하는 경우, 새로운 운영체제 이미지를 설치할 때 Raspberry Pi Imager에서 매우 쉽게 설정할 수 있습니다. 
 + 
 +{{ :dotnet:remote_debugger:remote1.png?nolink |}} 
 + 
 +자세한 내용은 Raspberry Pi 공식 문서를 참고하시기 바랍니다. 
 + 
 +개발 PC의 Windows 터미널에서 ''ssh'' 명령을 실행하여 원격 장치에 접속해 보십시오. 
 + 
 +비밀번호를 묻지 않고 바로 접속되어야 정상적으로 설정된 입니다. 
 + 
 +{{ .:test_ssh.mp4?900x506 |}} 
 + 
 +===== vsdbg 설치 ===== 
 + 
 +원격 장치에는 Microsoft의 .NET 디버거인 ''vsdbg''가 설치되어 있어야 합니다. 
 + 
 +==== Trixie 및 Bookworm ==== 
 + 
 +ComfilePi Trixie 또는 Bookworm 운영체제를 사용하는 경우 ''vsdbg''는 기본적으로 설치되어 있으며 다음 위치에 있습니다. 
 + 
 +<code> 
 +/opt/Microsoft/vsdbg/vsdbg 
 +</code> 
 + 
 +만약 설치되어 있지 않다면 다음 명령으로 설치할 수 있습니다. 
 + 
 +<code bash> 
 +sudo apt install cpi-vsdbg 
 +</code> 
 + 
 +==== 기타 운영체제 ==== 
 + 
 +다른 Linux 운영체제를 사용하는 경우 아래 절차에 따라 설치하십시오. 
 + 
 +  - ''wget https://aka.ms/getvsdbgsh'' 명령으로 설치 스크립트를 다운로드합니다. 
 +  - ''chmod +x getvsdbgsh'' 명령으로 실행 권한을 부여합니다. 
 +  - ''sudo ./getvsdbgsh -v latest -l /opt/Microsoft/vsdbg'' 명령으로 설치합니다. 
 + 
 +설치 경로는 원하는 위치로 변경할 수 있지만, 이후 Launch Profile 설정 시 해당 경로를 정확히 입력해야 합니다. 
 + 
 +===== 설정 및 사용 방법 ===== 
 + 
 +확장 프로그램을 설치하고 SSH 통신이 정상적으로 작하는 것을 확인한 후에는 프로젝트에 새로운 //.NET Remote Debugger// Launch Profile을 추가하면 됩니다. 
 + 
 +반적으로 다음 세 가지 항목만 설정하면 됩니다. 
 + 
 +  * Remote Machine 
 +  * Remote User 
 +  * Path to vsdbg 
 + 
 +''Path to vsdbg''에는 설치 폴더가 아니라 ''vsdbg'' 실행 파일의 전체 경로를 입력해야 합니다. 
 + 
 +예를 들어 ''vsdbg''를 다음 위치에 설치했다면 
 + 
 +<code> 
 +/opt/Microsoft/vsdbg 
 +</code> 
 + 
 +실행 파일 경로는 다음과 같이 입력해야 합니다. 
 + 
 +<code> 
 +/opt/Microsoft/vsdbg/vsdbg 
 +</code> 
 + 
 +{{ .:config_launch_profile.mp4?900x608 }} 
 + 
 +===== 문제 해결 ===== 
 + 
 +문제가 발생하면 Visual Studio의 ''Remote .NET Debugger'' 출력 창을 확인하십시오. 
 + 
 +출력 창에는 원격 연결, 배포 및 디버깅 과정에서 발생한 오류 정보가 표시됩니다. 
 + 
 +{{ :dotnet:remote_debugger:remote_net_debugger_output.png?nolink |}} 
 + 
 +===== 초보자 컬럼 ===== 
 + 
 +지금까지 설명을 읽어도 "그래서 나한테 어떤 도움이 되는 건가요?"라는 생각이 들 수 있습니다. 
 + 
 +일반적으로 Linux 장치에서 .NET 프로그램을 개발하려면 프로그램을 빌드한 후 직접 장치로 복사하고, SSH로 접속하여 실행한 뒤, 별도로 디버거를 연결해야 하는 경우가 많습니다. 또한 기존에 사용하던 WinForms 응용 프로그램을 Linux에서 실행하려면 새로운 GUI 프레임워크를 다시 배워야 하는 경우도 있습니다. 
 + 
 +COMFILE Technology는 이러한 불편함을 줄이기 위해 ComfileTech.WinForms와 Remote .NET Debugger를 제공합니다. 
 + 
 +ComfileTech.WinForms를 사용하면 기존 WinForms 개발 방식을 유지하면서 Windows와 Linux 환경 모두에서 응용 프로그램을 실행할 수 있습니다. 따라서 기존 WinForms 프로젝트를 최대한 활용할 수 있며, 새운 GUI 프레임워크를 배우기 위해 많은 시간을 투자할 필요가 없습니다. 
 + 
 +또한 Remote .NET Debugger를 사용하면 Visual Studio에서 F5 키를 눌러 응용 프로그램을 원격 장치에 배포하고 실행한 뒤, 디버거를 자동으로 연결할 수 있습니다. 개발자는 복잡한 배포 절차나 디버거 설정에 신경 쓰지 않고 응용 프로그램 개발에 집할 수 있습니다. 
 + 
 +결과적으로 컴파일파이와 JPC는 단순히 Linux가 탑재된 하드웨어가 아닙니다. 개발자가 이미 익숙하게 사용하고 있는 Visual Studio, .NET, C# 및 WinForms 환경을 최대한 그대로 활용할 수 있도록 설계된 개발 플랫폼입니다. 
 + 
 +특히 기존 Windows 응용 프로그램 개발 경험이 있는 개발자라면 Linux에 대한 깊은 지식이 없어도 비교적 짧은 시간 안에 Linux용 응용 프로그램을 개발할 수 있습니다. 
  
-이 확장 프로그램은 .NET 5 이상을 지원합니다. 
  
-.NET Framework 4.x와 Mono 환경을 사용한다면 [[.:remote_mono_debugger:index|Remote Mono Debugger]]를 사용하시기 바랍니다.