Visual Studio Code의 Remote Development 기능은 원격 서버에서 코드를 편집하고 디버깅할 수 있도록 지원하는 강력한 도구입니다. 특히 C++ 개발자들은 성능이 중요한 프로젝트에서 로컬 환경이 아닌 고성능 서버에서 빌드 및 디버깅을 수행해야 하는 경우가 많습니다. 이러한 요구를 충족하기 위해 VS Code의 Remote – SSH 확장을 사용하면, 로컬 PC에서 원격 서버의 C++ 프로젝트를 손쉽게 디버깅할 수 있습니다.
본 기사에서는 VS Code에서 C++ 리모트 디버깅을 설정하는 방법을 단계별로 설명합니다. 원격 개발 환경을 설정하고, gdbserver
를 활용하여 디버깅을 수행하는 방법을 소개하며, launch.json
설정을 통해 효율적으로 디버깅할 수 있는 환경을 구축하는 방법을 다룹니다. 또한, 실전 예제와 문제 해결 방법을 통해 리모트 디버깅 과정에서 발생할 수 있는 이슈를 효과적으로 해결하는 방법도 함께 살펴봅니다.
VS Code Remote Development 개요
Visual Studio Code Remote Development는 로컬 환경이 아닌 원격 서버에서 개발을 진행할 수 있도록 지원하는 기능입니다. 특히, Remote – SSH, Remote – Containers, Remote – WSL 등의 확장을 통해 다양한 환경에서 원격 개발이 가능합니다.
주요 기능
- 로컬 환경에서 원격 서버의 코드 편집 가능
- SSH를 통해 원격 서버에 연결하여 파일을 직접 수정하고 저장할 수 있습니다.
- 원격 빌드 및 디버깅 지원
- 로컬 환경이 아니라 원격 서버에서 직접 컴파일 및 실행이 가능합니다.
- 로컬과 동일한 개발 경험 제공
- 원격 서버의 파일을 로컬 VS Code에서 다루는 것처럼 작업할 수 있습니다.
- 보안 및 네트워크 환경 지원
- SSH 키를 활용하여 보안성이 유지된 상태에서 원격 작업이 가능합니다.
Remote Development 확장의 필요성
대규모 C++ 프로젝트는 빌드 시간이 길고, 강력한 하드웨어가 필요할 수 있습니다. 로컬 PC의 성능이 충분하지 않은 경우, 고성능 서버에서 빌드 및 디버깅을 수행하는 것이 효과적입니다. 이를 위해 VS Code의 Remote – SSH 확장을 활용하면 로컬 PC에서 원격 서버의 환경을 직접 제어하며 개발할 수 있는 장점이 있습니다.
이제 다음 단계에서 C++ 리모트 디버깅이 왜 필요한지 알아보겠습니다.
C++ 리모트 디버깅의 필요성
C++ 프로젝트의 규모가 커지고 성능이 중요한 경우, 리모트(원격) 디버깅이 필수적인 경우가 많습니다. 로컬 환경에서 실행하기 어려운 경우나 서버 환경에서의 테스트가 필요한 경우, 원격 디버깅을 활용하면 개발 효율성을 높일 수 있습니다.
로컬 디버깅 vs. 원격 디버깅
비교 항목 | 로컬 디버깅 | 원격 디버깅 |
---|---|---|
실행 환경 | 개발자의 로컬 PC | 원격 서버 (클러스터, 클라우드 등) |
성능 제한 | 로컬 PC의 성능에 의존 | 고성능 서버 활용 가능 |
디버깅 방식 | 로컬 GDB 또는 LLDB 사용 | gdbserver 등 원격 디버깅 툴 필요 |
네트워크 연결 | 필요 없음 | SSH, 포트 포워딩 필요 |
용도 | 소규모 프로젝트, 간단한 테스트 | 대규모 프로젝트, 서버 기반 실행 |
C++ 리모트 디버깅이 필요한 이유
- 대규모 프로젝트의 빌드 및 실행 문제 해결
- AI, 머신러닝, 게임 엔진, 고성능 컴퓨팅 프로젝트는 빌드 시간이 길고 실행 환경이 복잡합니다.
- 원격 서버에서 직접 빌드 및 디버깅하면 로컬 PC의 리소스를 절약할 수 있습니다.
- 실제 운영 환경과 동일한 환경에서 디버깅 가능
- 서버 애플리케이션, 클라우드 기반 소프트웨어는 로컬과 다른 환경에서 실행될 수 있습니다.
- 원격 디버깅을 통해 환경 차이로 인한 버그를 효과적으로 잡을 수 있습니다.
- 크로스 플랫폼 개발 지원
- 개발자는 Windows, Mac에서 코딩하면서도 Linux 서버에서 실행되는 프로그램을 디버깅할 수 있습니다.
- 특히, 임베디드 시스템 개발 시에도 원격 디버깅이 필수적입니다.
- 보안 및 접근성 문제 해결
- 원격 서버는 보안 정책상 직접 접속이 어렵거나, GUI 환경이 없는 경우가 많습니다.
- VS Code의 Remote – SSH 기능을 활용하면 보안이 유지된 상태에서 디버깅이 가능합니다.
결론
C++ 리모트 디버깅은 개발 환경의 한계를 극복하고, 실제 운영 환경에서 코드의 동작을 검증할 수 있는 필수적인 방법입니다. 다음 단계에서는 VS Code를 이용한 원격 개발 환경 설정 방법을 살펴보겠습니다.
원격 개발 환경 설정
C++ 리모트 디버깅을 위해서는 VS Code의 Remote – SSH 확장을 이용하여 원격 서버에 연결해야 합니다. 이 과정에서는 SSH를 설정하고, VS Code에서 원격 서버에 접속하는 방법을 설명합니다.
1. VS Code에 Remote – SSH 확장 설치
VS Code에서 원격 서버에 접속하려면 Remote – SSH 확장을 설치해야 합니다.
- VS Code 실행
- Extensions(확장) 탭(
Ctrl+Shift+X
) 열기 - “Remote – SSH” 검색 후 설치
설치가 완료되면 VS Code에서 SSH를 이용한 원격 개발이 가능해집니다.
2. SSH 설정 및 원격 서버 접속
SSH를 이용해 원격 서버에 접속하려면, SSH 키를 설정하고 config
파일을 구성해야 합니다.
(1) SSH 키 생성 (선택 사항)
보안을 위해 SSH 키를 생성하여 원격 서버에 비밀번호 없이 접속할 수 있습니다.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
이후 생성된 공개 키(~/.ssh/id_rsa.pub
)를 원격 서버의 ~/.ssh/authorized_keys
에 추가합니다.
(2) SSH 설정 파일 편집 (config
)
SSH 접속을 편리하게 하기 위해 ~/.ssh/config
파일을 설정합니다.
Host myserver
HostName 192.168.1.100
User myusername
IdentityFile ~/.ssh/id_rsa
Port 22
이제 터미널에서 ssh myserver
명령을 실행하면 간단하게 원격 서버에 접속할 수 있습니다.
3. VS Code에서 원격 서버 접속
이제 VS Code에서 원격 개발을 시작할 수 있습니다.
- VS Code 실행
- “Remote – SSH: Connect to Host” 선택 (
Ctrl+Shift+P
→ 검색) myserver
(SSH 설정한 호스트) 선택- 원격 서버에 연결되면, 터미널과 파일 탐색기가 원격 환경을 기반으로 동작
이제 로컬에서 원격 서버의 파일을 편집하고, 빌드 및 실행을 수행할 수 있는 환경이 구축되었습니다.
다음 단계
이제 원격 서버에서 gdbserver를 이용한 원격 디버깅 방법을 살펴보겠습니다.
gdbserver를 이용한 원격 디버깅
C++ 프로그램을 원격 환경에서 디버깅하기 위해서는 gdbserver를 사용해야 합니다. gdbserver
는 원격 디버거와 통신하며, 로컬에서 GDB를 실행하여 원격 프로세스를 디버깅할 수 있도록 합니다.
1. gdbserver 설치 확인
먼저 원격 서버에 gdbserver
가 설치되어 있는지 확인해야 합니다.
터미널에서 다음 명령을 실행합니다.
gdbserver --version
설치되어 있지 않다면, 다음 명령을 사용하여 설치할 수 있습니다.
- Ubuntu / Debian
sudo apt install gdbserver
- CentOS / RHEL
sudo yum install gdb-gdbserver
2. 원격 서버에서 gdbserver 실행
디버깅할 프로그램을 빌드한 후, gdbserver
를 실행해야 합니다.
예를 들어, my_program
을 원격 디버깅하려면 다음 명령을 실행합니다.
gdbserver :1234 ./my_program
위 명령어는 포트 1234에서 gdbserver
가 실행되며, 디버거 연결을 대기하는 상태가 됩니다.
📌 포트 선택 주의:
- 방화벽 설정에서 해당 포트가 열려 있어야 합니다.
- SSH 터널링을 사용하면 추가적인 포트 열기 없이 보안성을 유지할 수 있습니다.
3. 로컬 VS Code에서 GDB 연결
이제 VS Code에서 gdbserver
에 연결해야 합니다.launch.json
파일을 다음과 같이 설정합니다.
{
"version": "0.2.0",
"configurations": [
{
"name": "Remote Debug",
"type": "cppdbg",
"request": "launch",
"program": "/path/to/my_program",
"miDebuggerServerAddress": "192.168.1.100:1234",
"miDebuggerPath": "/usr/bin/gdb",
"cwd": "/path/to/",
"setupCommands": [
{ "text": "-enable-pretty-printing", "description": "Enable GDB pretty printing", "ignoreFailures": true }
]
}
]
}
설정이 완료되면 VS Code에서 디버깅 시작 버튼(F5)을 누르면 원격 서버에서 실행 중인 gdbserver
에 연결되어 디버깅을 진행할 수 있습니다.
4. 디버깅 시작 및 중단
- 중단점 설정: VS Code에서 원격 실행 중인 코드에 브레이크포인트를 설정할 수 있습니다.
- 디버깅 종료: 원격 서버에서
gdbserver
를 종료하려면Ctrl+C
를 입력하면 됩니다.
다음 단계
이제 launch.json을 최적화하여 보다 효율적인 원격 디버깅 환경을 구축하는 방법을 살펴보겠습니다.
launch.json 설정
Visual Studio Code에서 원격 C++ 디버깅을 수행하려면, launch.json
파일을 올바르게 설정해야 합니다. 이 파일은 VS Code의 디버깅 환경을 정의하는 설정 파일로, 원격 gdbserver
와 연결하여 원격 실행 중인 프로그램을 디버깅할 수 있도록 도와줍니다.
1. launch.json 파일 생성 및 위치
launch.json
파일은 .vscode/
디렉터리 아래에 생성해야 합니다.
파일 생성 방법
- VS Code에서 Ctrl + Shift + P를 누른 후
"Debug: Open launch.json"
을 검색하여 실행합니다. "C++ (GDB/LLDB)"
을 선택하면 자동으로launch.json
이 생성됩니다.
2. launch.json 설정 예제
아래는 gdbserver를 이용한 원격 디버깅을 위한 launch.json
설정 예제입니다.
{
"version": "0.2.0",
"configurations": [
{
"name": "Remote Debugging",
"type": "cppdbg",
"request": "launch",
"program": "/home/user/project/my_program",
"miDebuggerServerAddress": "192.168.1.100:1234",
"miDebuggerPath": "/usr/bin/gdb",
"cwd": "/home/user/project",
"externalConsole": false,
"setupCommands": [
{
"description": "Enable pretty printing",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"logging": {
"engineLogging": true
}
}
]
}
3. 설정 항목 설명
설정 키 | 설명 |
---|---|
"name" | 디버깅 구성을 식별하는 이름 |
"type" | 사용할 디버거 유형 (cppdbg ) |
"request" | 디버깅 요청 유형 (launch 또는 attach ) |
"program" | 원격 서버에서 실행할 프로그램의 경로 |
"miDebuggerServerAddress" | gdbserver가 실행 중인 원격 주소 및 포트 |
"miDebuggerPath" | 사용할 GDB 실행 파일 경로 |
"cwd" | 현재 작업 디렉터리 (소스코드 위치) |
"externalConsole" | 외부 콘솔 사용 여부 (false 권장) |
"setupCommands" | 디버깅을 위한 추가 GDB 명령어 (예: pretty-printing 활성화) |
"logging" | 디버깅 로그 활성화 |
4. launch.json 설정 후 실행
- VS Code에서 디버그 탭 (Ctrl + Shift + D)로 이동
- 생성한 “Remote Debugging” 구성 선택
- 디버깅 시작 (F5)
- 원격 서버에서 실행 중인 gdbserver와 연결됨을 확인
5. 추가 설정: Attach 모드 사용
기존에 실행 중인 프로세스에 연결하려면 "request": "attach"
로 변경해야 합니다.
{
"name": "Attach to Remote Process",
"type": "cppdbg",
"request": "attach",
"program": "/home/user/project/my_program",
"processId": "12345",
"miDebuggerServerAddress": "192.168.1.100:1234",
"miDebuggerPath": "/usr/bin/gdb"
}
이 설정을 활용하면 원격 서버에서 실행 중인 프로세스에 연결하여 디버깅할 수 있습니다.
다음 단계
이제 원격 빌드 및 실행 방법을 살펴보겠습니다.
원격 빌드 및 실행
C++ 원격 디버깅을 원활하게 수행하려면, 원격 서버에서 직접 코드를 빌드하고 실행하는 환경을 구성해야 합니다. Visual Studio Code는 CMake, Makefile, SSH 터미널을 활용하여 원격에서 빌드 및 실행을 쉽게 할 수 있도록 지원합니다.
1. 원격 서버에서 C++ 프로젝트 빌드하기
원격 서버에서 빌드를 수행하려면, SSH를 통해 접속한 후 프로젝트에 맞는 빌드 도구를 사용하면 됩니다.
(1) Makefile을 이용한 빌드
Makefile이 있는 프로젝트에서는 SSH를 통해 원격 서버에 접속한 후 다음 명령을 실행합니다.
cd /home/user/project
make
빌드가 성공하면 실행 가능한 바이너리가 생성됩니다.
(2) CMake를 이용한 빌드
CMake 프로젝트라면 다음 단계를 따라 빌드할 수 있습니다.
cd /home/user/project
mkdir -p build && cd build
cmake ..
make -j$(nproc) # 병렬 빌드
이렇게 하면 build/
디렉터리에 실행 파일이 생성됩니다.
2. VS Code에서 원격 빌드 자동화
VS Code에서 CMake Tools 확장을 사용하면 원격 서버에서 빌드를 쉽게 자동화할 수 있습니다.
(1) CMake Presets 설정
원격 서버에서 CMake 빌드를 수행할 수 있도록 CMakePresets.json
을 설정합니다.
{
"version": 3,
"configurePresets": [
{
"name": "remote-linux",
"description": "Build for remote Linux server",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
}
],
"buildPresets": [
{
"name": "remote-linux-build",
"configurePreset": "remote-linux",
"jobs": 4
}
]
}
이제 VS Code에서 CMake: Configure Project를 실행하면 원격 서버에서 자동으로 빌드가 진행됩니다.
3. 원격 실행 및 테스트
빌드된 바이너리를 실행하려면, SSH를 통해 접속한 후 직접 실행할 수 있습니다.
cd /home/user/project/build
./my_program
또는 VS Code의 터미널에서 Ctrl + Shift + P
를 눌러 Remote-SSH: Open SSH Terminal을 선택한 후 위 명령어를 실행할 수도 있습니다.
4. VS Code에서 원격 실행 자동화
VS Code의 tasks.json을 활용하면 원격 서버에서 빌드 후 자동으로 실행하도록 설정할 수 있습니다.
(1) tasks.json 설정
.vscode/tasks.json
을 아래와 같이 설정합니다.
{
"version": "2.0.0",
"tasks": [
{
"label": "Build on Remote",
"type": "shell",
"command": "ssh user@192.168.1.100 'cd /home/user/project && make'"
},
{
"label": "Run on Remote",
"type": "shell",
"command": "ssh user@192.168.1.100 '/home/user/project/build/my_program'"
}
]
}
이제 VS Code에서 Ctrl + Shift + B를 눌러 "Build on Remote"
작업을 실행하면 자동으로 빌드가 수행되며, "Run on Remote"
작업을 실행하면 원격 서버에서 실행할 수 있습니다.
다음 단계
이제 원격 디버깅 중 발생할 수 있는 문제와 해결 방법을 살펴보겠습니다.
원격 디버깅 문제 해결
Visual Studio Code에서 C++ 원격 디버깅을 수행하는 과정에서 SSH 연결 문제, gdbserver 실행 오류, 디버거 연결 실패 등의 문제가 발생할 수 있습니다. 이 섹션에서는 원격 디버깅 중 발생할 수 있는 주요 문제와 해결 방법을 정리합니다.
1. SSH 연결 문제
VS Code가 원격 서버에 연결되지 않는 경우, 먼저 SSH 설정을 점검해야 합니다.
(1) SSH 연결이 거부됨
✅ 해결 방법:
- 원격 서버가 실행 중인지 확인
ping 192.168.1.100
- SSH 서비스가 활성화되어 있는지 확인
systemctl status ssh
필요하면 다음 명령어로 SSH를 활성화합니다.
sudo systemctl restart ssh
- 방화벽에서 SSH(포트 22)가 열려 있는지 확인
sudo ufw allow ssh
(2) SSH 키 인증 실패
✅ 해결 방법:
- SSH 키가 올바르게 설정되어 있는지 확인
ssh -i ~/.ssh/id_rsa user@192.168.1.100
- SSH 키가 원격 서버의
~/.ssh/authorized_keys
에 추가되었는지 확인
2. gdbserver 실행 오류
gdbserver가 올바르게 실행되지 않는 경우, 다음을 확인해야 합니다.
(1) gdbserver가 설치되지 않음
✅ 해결 방법:
- 원격 서버에서
gdbserver
가 설치되어 있는지 확인
gdbserver --version
- 설치되어 있지 않다면 다음 명령어로 설치
sudo apt install gdbserver # Ubuntu/Debian
sudo yum install gdb-gdbserver # CentOS/RHEL
(2) gdbserver가 실행되지 않음
✅ 해결 방법:
- gdbserver를 실행할 때 정확한 포트를 사용해야 합니다.
gdbserver :1234 ./my_program
- 포트가 사용 중이면 다른 포트로 변경
gdbserver :5678 ./my_program
3. 디버거 연결 실패
VS Code에서 gdbserver와 연결할 수 없는 경우, 다음 사항을 확인해야 합니다.
(1) launch.json 설정 오류
✅ 해결 방법:
"miDebuggerServerAddress"
가 올바른지 확인
"miDebuggerServerAddress": "192.168.1.100:1234"
- gdbserver의 실행 포트와 일치해야 함
(2) 방화벽 문제로 연결 차단
✅ 해결 방법:
- 원격 서버에서
gdbserver
가 사용하는 포트가 방화벽에 의해 차단되지 않았는지 확인
sudo ufw allow 1234
(3) SSH 터널링 사용하여 보안 연결
✅ 해결 방법:
- SSH 포트 포워딩을 사용하면 방화벽 문제 없이 안전하게 연결 가능
ssh -L 1234:localhost:1234 user@192.168.1.100
이후 VS Code에서 localhost:1234
로 연결하면 됨.
4. 디버깅 중 브레이크포인트가 작동하지 않음
✅ 해결 방법:
- 디버깅 모드를 Release가 아닌 Debug로 설정
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
- GDB Pretty Printing 활성화 (
launch.json
에서 설정)
"setupCommands": [
{ "text": "-enable-pretty-printing", "ignoreFailures": true }
]
- 소스 코드 경로 매핑 확인
- 로컬과 원격의 소스 경로가 다르면 디버거가 중단점을 찾지 못할 수 있음
"sourceFileMap"
을 설정하여 올바른 경로 매핑
"sourceFileMap": {
"/home/user/project": "${workspaceFolder}"
}
5. gdbserver가 자동 종료됨
✅ 해결 방법:
gdbserver
가 실행 중인지 확인
ps aux | grep gdbserver
gdbserver
를 백그라운드에서 실행
nohup gdbserver :1234 ./my_program &
- 실행 파일이 종료되지 않도록
sleep
을 추가하여 유지
gdbserver :1234 ./my_program; sleep 10
다음 단계
이제 실전 예제를 통해 원격 C++ 프로젝트를 디버깅하는 과정을 살펴보겠습니다.
실전 예제: 리모트 C++ 프로젝트 디버깅
이제 앞서 설정한 환경을 활용하여 실제 C++ 프로젝트를 VS Code에서 원격 디버깅하는 방법을 실습해보겠습니다.
1. 프로젝트 예제 코드
먼저, 원격 서버에 샘플 C++ 프로젝트를 준비합니다.
📌 파일: main.cpp
#include <iostream>
#include <vector>
void processData(const std::vector<int>& data) {
for (size_t i = 0; i < data.size(); ++i) {
std::cout << "Processing data: " << data[i] << std::endl;
}
}
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
processData(numbers);
return 0;
}
이 코드는 벡터의 데이터를 출력하는 간단한 프로그램입니다.
2. 원격 서버에서 코드 컴파일 (디버그 빌드)
원격 서버에 SSH로 접속한 후 디버그 모드로 컴파일합니다.
g++ -g -o my_program main.cpp
-g
옵션을 추가하면 GDB에서 디버깅이 가능하도록 디버깅 심볼을 포함하여 컴파일됩니다.
3. 원격 서버에서 gdbserver 실행
다음으로, 원격 서버에서 gdbserver
를 실행하여 디버깅을 위한 준비를 합니다.
gdbserver :1234 ./my_program
이 명령을 실행하면 gdbserver
가 포트 1234에서 디버거 연결을 대기합니다.
4. VS Code에서 원격 디버깅 설정
이제 VS Code의 launch.json
을 설정하여 원격 디버깅을 수행합니다.
📌 파일: .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Remote Debugging",
"type": "cppdbg",
"request": "launch",
"program": "/home/user/project/my_program",
"miDebuggerServerAddress": "192.168.1.100:1234",
"miDebuggerPath": "/usr/bin/gdb",
"cwd": "/home/user/project",
"externalConsole": false,
"setupCommands": [
{
"description": "Enable pretty printing",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
✅ "miDebuggerServerAddress"
에 원격 서버의 IP와 gdbserver 포트를 설정합니다.
✅ "program"
은 원격 실행 파일의 경로를 설정해야 합니다.
5. VS Code에서 원격 디버깅 시작
- VS Code의 디버깅 패널 (Ctrl + Shift + D)로 이동
"Remote Debugging"
을 선택- 디버깅 시작 (F5)
📌 정상 연결되었을 때 VS Code 출력 예시
Remote debugging from host 192.168.1.100
Connected to target
Reading symbols from /home/user/project/my_program
이제 VS Code에서 브레이크포인트를 설정하고, 변수 값을 확인하면서 원격 디버깅을 진행할 수 있습니다.
6. 디버깅 중 주요 기능 사용
- 중단점 설정:
processData
함수에 중단점을 설정하여 실행이 중지되는지 확인합니다.- 단계별 실행 (
F10
,F11
) F10
: 현재 줄을 실행F11
: 함수 내부로 진입- 변수 값 확인 (
Debug Console
활용) print numbers
→ 벡터 값 출력info locals
→ 로컬 변수 정보 확인
7. 디버깅 종료 및 정리
디버깅이 끝나면 다음 명령어를 사용하여 gdbserver를 종료할 수 있습니다.
Ctrl + C # gdbserver 종료
VS Code에서도 디버깅을 중지하려면 Shift + F5를 누르면 됩니다.
결론
이번 실전 예제를 통해 VS Code에서 원격 서버의 C++ 프로젝트를 효과적으로 디버깅하는 방법을 익혔습니다. 이제 마지막으로 전체 내용을 정리해보겠습니다.
요약
본 기사에서는 Visual Studio Code에서 C++ 원격 디버깅을 설정하는 방법을 단계별로 설명하였습니다.
📌 주요 내용 정리
- VS Code Remote Development 개요
- Remote – SSH 확장을 활용하여 원격 서버에서 개발 및 디버깅 가능
- C++ 리모트 디버깅의 필요성
- 고성능 서버에서 빌드 및 실행 가능
- 운영 환경과 동일한 조건에서 테스트 가능
- 원격 개발 환경 설정
- SSH를 이용하여 VS Code에서 원격 서버에 연결
- Makefile, CMake 등을 활용한 원격 빌드 설정
- gdbserver를 이용한 원격 디버깅
- 원격 서버에서
gdbserver
실행 후 VS Code에서 디버거 연결
- launch.json 설정
- VS Code에서 원격 gdbserver와 연결할 수 있도록 구성
- 원격 빌드 및 실행
- SSH 터미널을 통해 원격 빌드 수행
tasks.json
을 활용하여 자동화 가능
- 디버깅 문제 해결
- SSH 연결 오류, gdbserver 실행 문제, 브레이크포인트 미작동 해결법 소개
- 실전 예제
- 실제 C++ 프로젝트를 VS Code에서 원격 디버깅하는 방법 실습
🎯 결론
VS Code의 Remote – SSH 확장과 gdbserver를 활용하면, 로컬 환경에서도 원격 서버의 C++ 코드를 쉽게 빌드 및 디버깅할 수 있습니다.
이 방법을 활용하면, 대규모 프로젝트나 고성능 서버가 필요한 프로젝트에서도 효율적으로 개발을 진행할 수 있습니다.
이제 VS Code를 활용한 원격 C++ 개발 환경을 구축하여 보다 효과적인 개발과 디버깅을 경험해 보세요! 🚀