在Linux上通常使用gdb命令行调试,但该方式调试不太直观,且命令行长时间不用,容易忘记,不如GUI直观和容易上手,下面介绍基于GUI的方式调试Linux。

一.Linux调试GUI方案简介
1)    Visual studio 远程调试Linux
     在VS2015版本以后Visual studio就支持Linux的编译和调试。使用熟悉的windows界面开发和调试Linux,极大的提高了开发效率,可以广泛应用的Linux服务器开发和嵌入式Linux开发。 遗憾的是该方式需要基于VS工程来调试,旧的项目是基于Makefile的工程,VS不能调试Makefile工程,通过工具将Makefile工程转VS工程,然后用VS来调试,详见https://github.com/robotdad/vclinux。
2)    基于eclipse 本地调试Linux
         因为eclipse是跨平台的,安装一个带GUI的linux系统,就可以像VS一样开发和调试Linux
3)  基于QtCreator 本地调试Linux
        因为QtCreator是跨平台的,安装一个带GUI的linux系统,就可以像VS一样开发和调试
4)    基于eclipse 远程调试Linux
        gdb+gdbserver方式,远程有一个gdbserver,本地机器通过网络发指令给gdbserver完成调试
5)    基于QtCreator远程调试Linux
        gdb+gdbserver方式,远程有一个gdbserver,本地机器通过网络发指令给gdbserver完成调试
6)    基于vscode远程调试Linux
      该方法支持调试Linux程序,不要编译器参与,可以完美的将Makefile工程简单的接管起来调试,可以是基于ssh+vscode方式或者gdb+vscode+gdbserver方式。本文重点介绍该ssh+vscode方法的使用。

二.基于vscode ssh远程调试Linux实战

1   软件安装
1)服务器安装gdb
注意我们是ssh+vscode方式,没有用到gdbserver,故不需要安装gdbserver。
gdb+gdbserver方式,在宿主机还需要安装一个交叉编译的gdb,目标机起一个gdbserver去接收和解析指令,详见https://blog.csdn.net/zhaoxd200808501/article/details/77838933。
2)VScode 输入ctrl+shift+x
 在扩展专栏安装Remote Development和C/C++,安装后完毕后产生一个SSH工具和debug工具。

2 建立ssh连接
       这里以简单起见,使用密码账号登录。当然也可以使用公钥登录。详解官方文档
         1)选择ssh target
         2)点击+,输入 ssh root@IP  –A,选择配置文件路径即可
        3) 选择连接服务器,右键---connect host in current window,输入相应密码即可连接SSH服务器

3   配置debug 参数,并进行调试
        1) 点击debug工具栏,选择Open a file用来指定远程服务器debug源文件
即选择远程服务器的debug文件,指定目录和源文件。如C/C++文件
       2)选择远程配置文件目录,并创建默认的launch.json文件
       3) 修改配置文件
             1.可执行文件路径
            "program": "${workspaceFolder}/hello",
            2.在main入口断点住
             "stopAtEntry": true,
     4) 选择gdb launch 调试器,就可以启动远程的hello可执行文件,并进行单步,断点等各种调试

5) vscode同样支持attach到某个进程进行在线调试,对线上正在运行的进程进行各种调试和状态查看等
          更多更详细信息请关注公众号:AV_Chat

VScode调试Linux详解相关推荐

  1. Visual Studio Code (VSCode) 之 C/C++ 调试配置详解

    准备   默认情况下,VSCode仅仅内置了对node.js运行时的调试支持,只可以直接调试JavaScript.TypeScript和任何其他翻译为JavaScript的语言.其他语言的调试支持,都 ...

  2. Windbg调试命令详解

    Windbg调试命令详解 发表于2013 年 8 月 23 日 转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Win ...

  3. Linux详解系列2- 这100条常见命令你都用过哪些?

    Linux详解系列2- 这100条常见命令你都用过哪些? https://www.toutiao.com/i6941655011004891660/?tt_from=weixin&utm_ca ...

  4. 嵌入式linux详解,嵌入式Linux详解

    嵌入式Linux详解 嵌入式培训就是嵌入式系统相关技术的培训.嵌入式系统说白了就是硬件和软件相结合,嵌入到整机里使整机实现智能化的一个系统.下面是小编整理的关于嵌入式Linux详解,希望大家认真了解! ...

  5. F12调试调试窗口详解

    目录 前言 一.F12调试参数详解 1.Elements: 2.Network: Name: headers: Preview: Response: Timing: 3.console: 4.Sour ...

  6. 电路板选择、焊接和调试技巧详解(7)

    原文地址::http://www.360doc.com/content/13/0513/17/11723777_285167796.shtml 相关文章 1.电路板选择.焊接和调试技巧详解(2)--- ...

  7. php和js调试,JS调试使用详解

    这次给大家带来JS调试使用详解,JS调试的注意事项有哪些,下面就是实战案例,一起来看一下. 试想一下:出现了某个bug,有人用几分钟就搞定了,有人用了半天或者一天都找不到原因所在.你愿意当前者还是后者 ...

  8. oracle中调试存储过程,详解Oracle调试存储过程

    详解Oracle调试存储过程 一 调试关键步骤 1.在要调试的存储过程右键,选择编辑以进行调试,截图如下: 2.点击小瓢虫,弹出调试窗口,截图如下: 3.输入7839员工编号,点击确认,进行调试,截图 ...

  9. Linux | 详解命令 locate

    详解 locate 概述 安装 用法 使用 updatedb 创建数据库 如何使用 locate 命令 不使用选项 使用选项 总结 概述 如果想要在整个系统里搜索文件或目录,locate 就是您最好的 ...

最新文章

  1. Java关键字——instanceof
  2. 【理论】红黑树的实现原理
  3. 常见工具:dp与px互转,屏幕宽度与高度获取
  4. 使用uicollectionView时需要注意的问题
  5. 第五章 MVC之Bundle详解
  6. hive 配置用户名_配置HiveServer2的安全策略之自定义用户名密码验证
  7. 我和 Spring 大神的一天
  8. 阿里云大数据MaxCompute计算资源分布以及LogView分析优化
  9. 基于Matlab----RSSI测距定位技术性能仿真
  10. 数据仓库建设 —— 数据质量管理
  11. python火柴人打架代码_两个火柴人对打动画 如何制作两个火柴人打架的动画效果?...
  12. PWM是如何调节直流电机转速的?电机正反转的原理又是怎样的?
  13. html代码中font是什么意思,HTML元素font标签的使用方法及作用
  14. pdf照片显示正常打印时被翻转_2020年上海二级建造师准考证打印常见问题
  15. 全同态加密(FHE):BV方案、密钥切换、模约化、自举
  16. Java8新特性之Stream流的使用
  17. 2019-02-24 经济 金融 投资 理财相关书籍推荐
  18. 匈牙利法及其最优性分析
  19. 打开个税App:竟要补税两万多...
  20. 用于单眼3D物体检测的可学习深度引导卷积

热门文章

  1. 【JavaSE】家庭记账软件
  2. java需注意的一些东西
  3. Android 11上游戏签名需要注意的问题(是否包含V2签名)
  4. windows下如何管理多个github账号
  5. Web应用界面设计规范—给项目组培训 .
  6. 找零钱之美分 python
  7. 杨幂今秋最爱的复古元素+廓形单品,你,Get了吗?
  8. 前端(一)html、css-学习笔记整理
  9. Windows系统如何查看占用的端口
  10. 一啸山河动,雄风撼九州 - 2010虎年春节快乐!