linux下codeserver离线远程调试C代码
linux下code-server离线远程调试C++代码
环境: OS:centos 7.9.2009 Minimal(无界面版本) cmake: 2.8.12 编译器:g++ 4.8.5 调试器:gdb 4.8.5 code-server: v4.0.2(vscode v1.63.0) code-server插件: ms-vscode.cpptools-1.9.0@linux-x64.vsix twxs.cmake-0.0.17.vsix ms-vscode.cmake-tools-1.9.2.vsix
创建时间:2022-02-24
修改时间:2022-02-24 前言
linux下使用gdb调试程序是一个基本操作。
本文介绍使用code-server + gdb离线远程调试C++的cmake工程。
最终效果:可以在没有GUI界面的centos上,在windows上以浏览器的方式调试centos上的C++程序。 1. 下载和安装code-serverwget https://github.com/coder/code-server/releases/download/v4.0.2/code-server-4.0.2-amd64.rpm
镜像加速 wget https://ghproxy.com/https://github.com/coder/code-server/releases/download/v4.0.2/code-server-4.0.2-amd64.rpm
安装 sudo yum -ivh code-server-4.0.2-amd64.rpm2. 编写测试程序
目录结构: $ tree . +--- .vscode | +--- launch.json +--- CMakeLists.txt +--- myprint.cpp +--- myprint.h +--- test.cpp
test.cpp #include "myprint.h" int main() { int num = 1; myprintf(num); return 0; }
myprint.h void myprintf(int num);
myprint.cpp #include void myprintf(int num) { std::cout << "num: " << num << std::endl; }
CMakeLists.txt cmake_minimum_required(VERSION 2.8.12) project(test) include_directories(.) add_executable(${PROJECT_NAME} test.cpp myprint.cpp)3. 编译源码
注意:必须生成Debug模式,否则无法调试 mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Debug cmake --build . --config Debug
建议使用CMake Tools进行编译。
注意:离线下需要同时下载CMake和CMake Tools $ code-server --install-extension twxs.cmake-0.0.17.vsix Installing extensions... Extension "twxs.cmake-0.0.17.vsix" was successfully installed. $ code-server --install-extension ms-vscode.cmake-tools-1.9.2.vsix Installing extensions... Extension "ms-vscode.cmake-tools-1.9.2.vsix" was successfully installed.
linux下验证应用程序是否为debug版本: readelf -S test | grep debug4. 运行code-server运行
默认使用配置文件:~/.config/code-server/config.yaml code-server
设置密码 export PASSWORD="123456" && code-server --bind-addr 0.0.0.0:8080
不设置密码 code-server --auth=none --bind-addr 0.0.0.0:8080使用
浏览器中输入http://IP:8080即可访问 5. code-server配置C++调试环境安装C++插件
安装C++调试插件 C/C++ extension for VS Code $ code-server --install-extension ms-vscode.cpptools-1.9.0@linux-x64.vsix Installing extensions... Extension "ms-vscode.cpptools-1.9.0@linux-x64.vsix" was successfully installed.安装cmake插件【可选,便于编译】
安装cmake插件 CMake Tools
注意:离线下需要同时下载CMake和CMake Tools 创建调试启动文件 【Run(Ctrl + Shift + D)】-> 【create a launch.json file】-> 【C++ (GDB/LLDB)】
launch.json { "version": "0.2.0", "configurations": [ { "name": "(gdb) 启动", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/test", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }6. 调试
设置断点,在code-server中按F5进行调试。
code-server左侧有变量、监视、调用堆栈、断点和Modules信息。