본문 바로가기
Visual Studio Code

[VSCode] VSCode Remote-SSH 원격 빌드 및 디버깅

by Junk_Seo 2024. 3. 1.
반응형

1. 개요

  • tasks.json과 launch.json 파일 설정하여 원격 빌드 및 디버깅에 대한 내용을 정리합니다.
  • tasks.json 파일에 명령을 정의하여 Makefile을 빌드하도록 합니다.
  • launch.json 파일에 명령을 정의하여 빌드된 실행 파일을 실행 및 디버깅을 하도록 합니다.

2. 빌드를 위한 tasks.json 파일 설정

  • vscode에서 remote-ssh로 linux에 원격 접속 후 소스 파일을 엽니다.
  • 소스 파일을 연 상태에서 최초 빌드 실행 단축키(ctrl + shift + B)를 입력하면 다음과 같이 팝업이 등장합니다.
  • "C/C++: g++ 활성 파일 빌드에서 왼쪽 설정 버튼을 클릭하면 default tasks.json 파일을 생성합니다.
  • default로 설정된 상태에서 빌드를 진행하면 해당 파일만 빌드를 진행하므로 오류가 발생합니다.
  • 따라서 원격 linux의 Makefile을 사용하여 빌드하도록 tasks.json 파일을 수정합니다.
  • 다음은 수정한 tasks.josn 파일 내용입니다.
  • tasks.json 구성 파라미터 설명
  • tasks.json 파일을 수정한 뒤 빌드를 진행하면 정상적으로 빌드되는 것을 확인할 수 있습니다.

3. 실행 및 디버깅을 위한 launch.json 파일 설정

  • vscode에서 remote-ssh로 linux에 원격 접속 후 소스 파일을 열고 중단점을 설정합니다
  • 여기서는 main.cpp 파일의 134 라인에 중단점을 설정하였습니다.
  • 파일을 연 상태에서 실행 또는 디버깅을 시도하면 다음과 같이 팝업이 등장합니다.
  • C++ (GDB/LLDB) 선택 후 다음 팝업에서 맨 위에 있는 "... test_main release"를 선택합니다.
  • 위 tasks.json에서 설정한 내용입니다.
  • 아직 launch.json 파일이 없기 때문에 다음과 같은 오류 메시지가 등장하는데, "launch.json 열기"를 클릭하면 launch.json 파일이 생성됩니다.
  • 생성된 launch.json 파일입니다.
  • 설정된 내용이 없기 때문에 실행 및 디버깅을 위한 설정을 진행합니다.
  • "program"에 실행 및 디버깅을 위한 실행 파일을 포함한 전체 경로를 설정합니다.
  • "args"에 실행 파일의 명령인수 값을 설정합니다.
  • 나머지 설정 값은 다음에서 확인합니다.
  • 실행 결과
  • 디버깅 결과

4. 디버깅을 위한 빌드 옵션 "-g"

  • 디버깅을 하기 위한 실행 파일의 gcc 빌드 옵션에 "-g"를 추가하지 않는 경우(gcc/g++) 소스 파일에 설정한 중단점에 다음과 같은 메시지가 뜨면서 디버깅하지 않고 실행만 진행합니다.
  • 따라서 정상적인 디버깅을 하려면 빌드 시 디버깅 옵션인 "-g"를 설정하시길 바랍니다.
반응형