vscode에서 원격 gdb를 디버깅하는 방법은 무엇입니까? 다음 글에서는 vscode의 원격 gdb 디버깅 방법을 소개하겠습니다. 도움이 되셨으면 좋겠습니다!
최근에 동료들의 도움으로 gdb 디버깅에 vscode를 사용해 보았는데 "정말 맛있었어요".
더 이상 고민하지 않고 이 기사에서 달성할 내용은 Linux 서버의 C++ 코드와 Windows 측 arm 임베디드 장치의 원격 디버깅, gdb 디버깅의 구성 및 사용 정리입니다.
먼저 원격으로 서버에 연결해야 합니다. 플러그인 라이브러리에서 "remote-ssh"를 검색한 후 더블클릭하여 다운로드하고 설치합니다(아래 그림에서는 설치했습니다). ) 설치 후 사이드바 Remote Explorer를 클릭하면 나타납니다. [추천 학습: vscode tutorial, Programming Teaching]
+ 기호를 클릭하고 팝업 명령 창에 ssh 로그인 명령을 입력한 후 안내에 따라 비밀번호를 입력하고 확인하면 연결됩니다. 성공
서버측에서 C++ 코드를 생성합니다. 여기서는 "Linux의 C++에서 시스템 사용자 이름 가져오기"의 코드를 예로 들어 보겠습니다. 매우 간단합니다
#include <unistd.h> #include <pwd.h> #include <iostream> int main() { struct passwd* pwd; uid_t userid; userid = getuid(); pwd = getpwuid(userid); std::cout << "pw_name:" << pwd->pw_name << std::endl; std::cout << "pw_passwd:" << pwd->pw_passwd << std::endl; std::cout << "pw_uid:" << pwd->pw_uid << std::endl; std::cout << "pw_gid:" << pwd->pw_gid << std::endl; std::cout << "pw_gecos:" << pwd->pw_gecos << std::endl; std::cout << "pw_dir:" << pwd->pw_dir << std::endl; std::cout << "pw_shell:" << pwd->pw_shell << std::endl; return 0; }
컴파일 방법은 다음과 같습니다. -g 명령을 입력하세요. 그렇지 않으면 gdb 디버깅이 불가능합니다.
g++ -g test.cpp -o test
그런 다음 파일-폴더 열기를 클릭하고 확인 후 생성된 코드 경로를 찾을 수 있습니다. 왼쪽 리소스 관리자의 코드 파일.
처음 실행하려면 C++ 확장을 설치해야 합니다. 확장 페이지에서 C/C++를 설치합니다.
또한 GDB Debug를 검색하여 설치합니다.
설치 후 "실행 및 디버그"를 클릭합니다. " 버튼, " launch.json 생성" 파일,
C++(GDB/LLDB) 항목을 선택하면 launch.json 파일이 자동으로 생성됩니다. 내용은 다음과 같습니다
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [] }
아래 내용을 따라 수정하세요.
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中 "type": "cppdbg", //配置类型 "request": "launch", //请求配置类型,可以是启动或者是附加 "program": "${workspaceFolder}/test", //程序可执行文件的完整路径,${workspaceFolder}表示远程连接的初始路径 "args": [], //传递给程序的命令行参数 "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止 "cwd": "${workspaceFolder}", //目标的工作目录 "environment": [], //表示要预设的环境变量 "externalConsole": false,//如果为true,则为调试对象启动控制台 "MIMode": "gdb",//要连接到的控制台启动程序 "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令 { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
이제 환경이 구성되었습니다
중단점을 설정한 후 "실행 및 디버그"를 클릭하면 소스 코드의 줄 번호 왼쪽을 직접 클릭할 수 있습니다. (gdb)를 시작하려면 다음과 같이
디버깅 페이지에 들어갈 수 있습니다
변수 영역에서 변수 값을 직접 확인하여 디버깅 목적을 완료할 수 있습니다.
일반적으로 사용되는 디버깅 키는 다음과 같습니다
F5 디버깅 시작
F10 한 단계 건너뛰기
F11 한 단계 디버깅
shift + F11 한 단계 나가기
ctrl + Shift + F5 디버깅 다시 시작
shift + F5 중지 디버깅
이전에 특정 장치에 연결한 적이 있고 이후 장치 교체 시 동일한 IP가 있거나 장치를 다시 설치했지만 IP가 변경되지 않은 경우 다시 연결할 때 오류가 보고됩니다. 호스트가 서버 IP를 Known_host
로 나열하기 때문입니다. IP를 찾고, 수정하고, 삭제하고 다시 연결할 수 있습니다
VSCode에 대한 자세한 내용을 보려면 다음을 방문하세요. vscode 기본 튜토리얼!
위 내용은 vscode에서 원격 gdb를 디버깅하는 방법은 무엇입니까? 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!