linux下code-server离线远程web浏览器调试C++代码


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

文章目录

  • linux下code-server离线远程web浏览器调试C++代码
    • 前言
    • 1. 下载和安装code-server
    • 2. 编写测试程序
    • 3. 编译源码
    • 4. 运行code-server
    • 5. code-server配置C++调试环境
    • 6. 调试

环境:

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.vsixtwxs.cmake-0.0.17.vsixms-vscode.cmake-tools-1.9.2.vsix

前言

linux下使用gdb调试程序是一个基本操作。

本文介绍使用code-server + gdb离线远程web浏览器调试C++的cmake工程。

最终效果:可以在没有GUI界面的centos上,在windows/linux等上以浏览器的方式调试centos上的C++程序。

1. 下载和安装code-server

wget 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.rpm

2. 编写测试程序

目录结构:

$ 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 <iostream>
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 debug

4. 运行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信息。


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033


Reference:
NULL

linux下code-server离线远程web浏览器调试C++代码相关推荐

  1. linux查看gogs版本,linux下 gogs的安装和web钩子

    linux系统下 gogs下载安装以及web钩子的使用 (1)下载gogs  官方网址:https://dl.gogs.io/ 选择合适的版本,解压后就可以使用了 启动gogs的命令:  ./gos ...

  2. Linux下HTTP Server

    想在Linux下实现一个简单的web Server并不难.一个最简单的HTTP Server不过是一个高级的文件服务器,不断地接收客户端(浏览器)发送的HTTP请求,解析请求,处理请求,然后像客户端回 ...

  3. linux下tomcat部署java web项目_在linux下用tomcat部署java web项目的过程与注意事项

    在linux下用tomcat部署java web项目的过程与注意事项 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/ ...

  4. 启动mq命令 linux,RocketMQ:Linux下启动server和broker的命令

    目录 QUESTION:RocketMQ:Linux下启动server和broker的命令? ANSWER: 一.启动mqnamesrv 1.1当前执行 1.2后台运行 二.启动mqbroker 2. ...

  5. RocketMQ:Linux下启动server和broker的命令

    目录 QUESTION:RocketMQ:Linux下启动server和broker的命令? ANSWER: 一.启动mqnamesrv 1.1当前执行 1.2后台运行 二.启动mqbroker 2. ...

  6. Linux下四款常见远程工具比较

    摘要:Linux远程可不像Windows下那么方便,主要是连接的速度.显示的画质不能令人满意(延迟.撕裂).本文只是说一下我用过的四款远程工具.Anydesk官网:https://anydesk.co ...

  7. linux系统打开远程端口,linux下3种检测远程端口是否打开的方法

    原标题:linux下3种检测远程端口是否打开的方法 方法一. telnet 常用telnet ip port方式测试远程主机端口是否打开. 方法二. nmap nmap ip -p port 测试端口 ...

  8. linux下使用syslog日志调试程序快速的调试代码信息的过程

    linux下使用syslog日志调试程序快速的调试代码信息的过程 环境背景:ubuntu 20.0.4 开发环境:QtCreator 功能:查看函数是否调用成功:函数调用执行的过程等等: 1.使用头文 ...

  9. linux下 如何调试php,linux下使用gdb对php源码调试

    title: linux下使用gdb对php源码调试 date: 2018-02-11 17:59:08 tags: --- linux下使用gdb进行php调试 调试了一些php的漏洞,记录一下大概 ...

最新文章

  1. 如何成为一名优秀的创业公司CTO?
  2. NERDTree这个插件的用法简介
  3. 深入.NET 4.0之,LazyT点滴
  4. Spring-AOP 混合使用各种切面类型及不同切面总结
  5. SQL SERVER 用sql语句将一列数据拼接成一个字符串
  6. MSSQL字符串处理-清除指定不连续或连续的字符
  7. python实现杨辉三角形博客园_Python实现杨辉三角
  8. 目标检测——FCOS的学习笔记
  9. html让font居中,用CSS做将如何字体居中?
  10. 计算机基础硬件知识试题及答案,计算机基础知识试题及答案大全(总结一)
  11. 安卓手机显示没有网络连接到服务器,安卓手机 总是提示登录网络
  12. z2屏幕坏如何从计算机导出数据,闪回收-手机屏幕坏了如何导出数据?手机屏幕坏了怎么用电脑控制?...
  13. 安装和卸载office以及激活电脑系统血淋淋的教训
  14. 出售永磁同步电机(pmsm)模型预测控制(MPC)matlab/simulink仿真模型,转速控制,电流控制,转矩控制,直接预测控制(有限集模型预测控制)(这单矢量和双矢量,三矢量),无差拍,foc矢
  15. 线性代数——矩阵的秩
  16. java版捕鱼达人----完整版补充
  17. uniapp技术应用,以及案列讲解
  18. Qt 局域网聊天(功能完善,界面美观,免费下载)
  19. 思科N9K交换机配置QOS
  20. 油管613万播放的星巴克3小时背景音乐无广告纯享版下载

热门文章

  1. 残留的过往伤感QQ日志_说太多,不如沉默
  2. 点击识别元素位置、生成显示二维码、下载二维码
  3. 这是你知道的建模教程吗
  4. C++ 二义性是什么?怎么解决?
  5. ROS 初学入门学习及资源推荐
  6. python模拟登录URP教务系统评教
  7. 计算机英语第四版可可英语翻译,专四英语作文高分范文背诵(MP3+中英字幕)第28篇:计算机和人翻译...
  8. MFC picture控件加载透明png图片
  9. 云计算学习网站都有哪些?学习云计算的方法
  10. 用人工智能做广告,它成为第一家走上IPO的人工智能企业