VScode调试Linux详解
在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详解相关推荐
- Visual Studio Code (VSCode) 之 C/C++ 调试配置详解
准备 默认情况下,VSCode仅仅内置了对node.js运行时的调试支持,只可以直接调试JavaScript.TypeScript和任何其他翻译为JavaScript的语言.其他语言的调试支持,都 ...
- Windbg调试命令详解
Windbg调试命令详解 发表于2013 年 8 月 23 日 转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Win ...
- Linux详解系列2- 这100条常见命令你都用过哪些?
Linux详解系列2- 这100条常见命令你都用过哪些? https://www.toutiao.com/i6941655011004891660/?tt_from=weixin&utm_ca ...
- 嵌入式linux详解,嵌入式Linux详解
嵌入式Linux详解 嵌入式培训就是嵌入式系统相关技术的培训.嵌入式系统说白了就是硬件和软件相结合,嵌入到整机里使整机实现智能化的一个系统.下面是小编整理的关于嵌入式Linux详解,希望大家认真了解! ...
- F12调试调试窗口详解
目录 前言 一.F12调试参数详解 1.Elements: 2.Network: Name: headers: Preview: Response: Timing: 3.console: 4.Sour ...
- 电路板选择、焊接和调试技巧详解(7)
原文地址::http://www.360doc.com/content/13/0513/17/11723777_285167796.shtml 相关文章 1.电路板选择.焊接和调试技巧详解(2)--- ...
- php和js调试,JS调试使用详解
这次给大家带来JS调试使用详解,JS调试的注意事项有哪些,下面就是实战案例,一起来看一下. 试想一下:出现了某个bug,有人用几分钟就搞定了,有人用了半天或者一天都找不到原因所在.你愿意当前者还是后者 ...
- oracle中调试存储过程,详解Oracle调试存储过程
详解Oracle调试存储过程 一 调试关键步骤 1.在要调试的存储过程右键,选择编辑以进行调试,截图如下: 2.点击小瓢虫,弹出调试窗口,截图如下: 3.输入7839员工编号,点击确认,进行调试,截图 ...
- Linux | 详解命令 locate
详解 locate 概述 安装 用法 使用 updatedb 创建数据库 如何使用 locate 命令 不使用选项 使用选项 总结 概述 如果想要在整个系统里搜索文件或目录,locate 就是您最好的 ...
最新文章
- Java关键字——instanceof
- 【理论】红黑树的实现原理
- 常见工具:dp与px互转,屏幕宽度与高度获取
- 使用uicollectionView时需要注意的问题
- 第五章 MVC之Bundle详解
- hive 配置用户名_配置HiveServer2的安全策略之自定义用户名密码验证
- 我和 Spring 大神的一天
- 阿里云大数据MaxCompute计算资源分布以及LogView分析优化
- 基于Matlab----RSSI测距定位技术性能仿真
- 数据仓库建设 —— 数据质量管理
- python火柴人打架代码_两个火柴人对打动画 如何制作两个火柴人打架的动画效果?...
- PWM是如何调节直流电机转速的?电机正反转的原理又是怎样的?
- html代码中font是什么意思,HTML元素font标签的使用方法及作用
- pdf照片显示正常打印时被翻转_2020年上海二级建造师准考证打印常见问题
- 全同态加密(FHE):BV方案、密钥切换、模约化、自举
- Java8新特性之Stream流的使用
- 2019-02-24 经济 金融 投资 理财相关书籍推荐
- 匈牙利法及其最优性分析
- 打开个税App:竟要补税两万多...
- 用于单眼3D物体检测的可学习深度引导卷积