Visual Studio 리눅스 원격 디버깅
환경

Visual Studio 리눅스 원격 디버깅

 리눅스의 자유로운 개발 환경은 정말 매력적이다.  특히 서버의 경우엔, 별도의 라이센스 없이도 무료로 사용 할 수 있는 프리웨어이기 때문에 기업의 경우 라이센스 유지 비용에 대해서 완전히 자유로워진다는 특장점이 있다. 또한 리눅스는 시키면 군 말 없이 다 한다. 윈도우즈의 "알아서 하는" 요소가 적고 정말 사용자의 의도대로 정확하게 동작한다.

 하지만 그렇다고 윈도우 소프트웨어의 장점은 없는걸까? 강력한 GUI 환경과 MS의 강력한 개발 도구인 비주얼스튜디오는 막강한 디버깅 환경과, 코드 분석 환경을 제공한다. 개발 할 때도 편리한 기능이 많고 C/C++ 을 사용한다면 이것 말고는 사실상 대안이 없다고 말하고싶다. 

다양한 디버깅 도구는 개발자의 든든한 무기가 된다.

 실시간으로 코드를 한줄 한줄 실행하며 변수의 값을 확인 할수도 있고, 호출 스택을 통해 어떤 함수를 타고 현재까지 왔는지 추적 해 볼 수 있는 기본적인 기능 이외에도, 실시간 메모리 덤프와 디스어셈블리 단위 디버깅까지 동시에 한 화면에서 진행 할 수 있다. 번외로, 어떤 함수가 부하가 크고 연산 시간을 많이 소모하는지까지 측정 할 수도 있다.

이런 강력한 기능을 당연히 리눅스에서도 사용 할 수 있다. SSH 연결만 된다면 말이다.


1. 리눅스 환경에서 작업

 우분투 시스템 기준으로 설명한다. 리눅스 시스템쪽에서 몇가지 작업 해 주어야 할 것이 있는데 SSH가 열려 있지 않다면 SSH 데몬을 올려주자.

apt install ssh
systemctl enable ssh

 꼭 필요한 작업은 아니지만, 추후에 높은 권한이 요구되는 프로그램을 개발/디버깅 해야 한다면 (드라이버 조작, Raw소켓 등) SSH 설정 파일을 수정해 root 로그인이 가능하도록 바꿔주고 여기서 로그인 해 작업 하면 된다.

vim /etc/ssh/sshd_config

 다 알겠지만, 이 파일 내에서 PermitRootLogin 옵션을 찾아 yes 로 바꿔주면 된다. systemctl 로 ssh 서비스를 restart 해주는것도 잊지 말자.

 

SSH 작업이 끝났다면 비주얼스튜디오와의 통신을 위해 몇가지 패키지를 인스톨 해줘야 한다.

apt install g++ gdb cmake make ninja-build rsync zip

 인스톨 항목을 보다보면 cmake 가 중간에 껴있는데, 이는 비주얼스튜디오에서 사용할 리눅스 개발환경으로 CMake 를 사용하기 때문이다. 이러면 리눅스는 일단 작업이 끝났다. 너무 쉽다.

 

 

2. 윈도우 환경에서 작업

 물론 당연히 비주얼스튜디오는 설치가 되어 있어야 한다. 아직 설치가 되어있지 않은 사람은, 설치 과정 중 아래에 설명할 항목을 추가로 선택해 설치하면 된다.

이미 설치가 되었다면 이렇게 추가로 변경을 할 수 있다.

 

리눅스 개발도구를 추가로 설치 해주자

 

설치가 완료 되었다면 VS의 설정을 건드려보자.

이런 방식으로 내가 연결할 호스트들을 등록 해 두고 연결 할 수 있다.

대충 이렇게 연결하고싶은 호스트 선택 후 확인을 눌러주자.

 

 이렇게 해두면 환경 구성 자체는 끝났다. 이제 리눅스를 연결해서 사용 할 프로젝트는 아래와같이 CMake 프로젝트로 만들어서 사용하면 된다. 물론 이렇게 되면 CMake 의 사용 방법또한 알아야겠지만 이 내용은 추후에 이어서 포스팅 하도록 하겠다.

사실 CMake 는 리눅스 뿐만 아니라, 윈도우 환경에서도 그대로 쓸 수 있다.

'환경' 카테고리의 다른 글

VSCode - Python 리눅스 원격 개발 환경  (0) 2022.03.08