VS2017创建Linux项目实现远程GDB调试
vs2017新增linux for C++的模块,尝试安装了一下环境。
首先,安装VS2017,安装时注意选择以下模块:

安装完成后,需要配置Linux服务端的部分,我的配置过程如下:
第一步,安装VMware虚拟机,此过程不再细细描述了。
第二步,安装Linux操作系统。我下载的是CentOS的min版本的安装包,里面只有基础的功能(不包括UI服务器部分)。需要注意的是网卡默认是关闭的,在安装时注意开启下,否则还得另外花时间去改配置文件。
第三步,在Linux端部署需要的服务(安装时注意以root用户登录系统)。主要包括如下几个部分:
1.安装Openssh:
yum install openssh-server
2.安装g++:
yum install gcc-c++
3.安装gdb+gdbserver
此处需要下载gdb安装包 gdb-7.12.tar.gz,地址: http://ftp.gnu.org/gnu/gdb/
下载完成后,将压缩文件上传到Linux主机目录/home/tbcs/gdb
然后登录Linux主机,打开安装包所在目录,解压缩:
tar -zxvf gdb-7.12.tar.gz
解压后会出现 gdb-7.12 文件目录,进入此目录,执行如下命令:
./configure
然后执行make命令:
make
然后进行安装:
make install
完成后,在当前目录(/home/tbcs/gdb/gdb-7.12)下找到gdb子目录,进入子目录后,将生成的gdb程序拷贝到/usr/bin目录下:
cp /home/tbcs/gdb/gdb-7.12/gdb/gdb /usr/bin
在gdb子目录下还会有一个gdbserver目录生成,进入该目录,将生成的gdbserver程序也拷贝到/usr/bin目录下:
cp /home/tbcs/gdb/gdb-7.12/gdb/gdbserver/gdbserver /usr/bin
至此,Linux端的服务安装完成。
第四步,建立Linux项目:

然后在生成的mian.cpp文件中打上断点,进行调试:

首次调试会需要设置Linux的连接,按照配置填上Linux服务端的IP地址及端口号,并输入用户名密码后就可以进行调试了,需要注意的是CentOS系统Min版本是不支持ifconfig命令的,查看IP可以用 ip addr 命令来查看。
最后,大功告成!

VS2017创建Linux项目实现远程GDB调试的更多相关文章
- vs2017创建netcore项目,部署到linux的docker容器里面
开发环境 1.win10下面安装VS2017 2.linux安装Ubuntu16.4系统 步骤: 第一步:linux安装docker容器 docker中文文档,里面有详解的docker介绍及讲解,建议 ...
- Linux基础 30分钟GDB调试快速突破
引言 Linus心灵鸡汤 在*nix开发中有道卡叫gdb调试,不管你怎么搞. 它依然在那丝毫不会松动.今天致敬一个 活着的传奇 Linus Torvalds Unix 始于上个世纪60年代,在70年代 ...
- linux下如何使用gdb调试
gdb是linux下非常好用的一个调试工具,虽然它是命令行模式的调试工具,但是它的功能强大到你无法想象,这里简单介绍下gdb下常用的命令. 首先编译生成可执行文件(这里的test.c是一个简单的求前n ...
- vs2017 编译linux项目
官方文档1: https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/ ...
- VSCode 创建flutter项目和运行、调试、热更新项目
1.创建--在終端輸入命令 flutter create 项目名 2.普通运行--在终端输入命令 flutter run 3.打开你的虚拟机或者是连上手机等待页面加载 4.普通運行情況下修改代碼后想要 ...
- linux下如何用GDB调试c++程序
转:http://blog.csdn.net/wfdtxz/article/details/7368357 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形 ...
- VS2017创建类库项目后添加不了WPF资源字典
第一步: 先找到你需要添加的库类工程文件,位置如下: 第二步: 使用记事本文件打开,找到图片的位置,把三行代码粘贴进去,保存文件.重新打开项目: 三行代码如下: <ProjectTypeGuid ...
- vs2017搭建linux c++开发环境
最近一直在阅读ovs的源码,看到用户态代码的时候,需要对用户态的代码进行调试,一开始想直接使用linux中的GDB进行调试,但是ovs的工程太过于复杂,从网上找了些文章,发现vs2017能够支持lin ...
- 在qemu环境中用gdb调试Linux内核
简介 对用户态进程,利用gdb调试代码是很方便的手段.而对于内核态的问题,可以利用crash等工具基于coredump文件进行调试.其实我们也可以利用一些手段对Linux内核代码进行gdb调试,qem ...
- Linux下GDB调试简单示例
这里介绍对文件first.c的基本GDB调试操作,只有部分命令,只是一个示例,运行环境为装有gcc编译器和gdb调试器的Linux环境,基本GDB调试命令如下表: 命令 ...
随机推荐
- 开源持续测试平台--MerterSphere
一.MeterSphere平台介绍 MeterSphere是一站式的开源持续测试平台,遵循 GPL v3 开源许可协议,涵盖测试跟踪.接口测试.UI测试和性能测试等功能,全面兼容JMeter.Sele ...
- input标签file文件上传图片本地预览(转载)
<input type="file" name="img-up" id="img-up" value="" /&g ...
- Word11 工程学院讲师论文office真题
1.根据题目一的要求,打开素材文件,点击[文件]-[另存为],选择[当前文件夹],命名为Word. 2.根据题目二的要求,根据提供的参考样式,打开Word的文档,在[布局]里点击[页面设置]的右下角, ...
- 看了这本基础教程的书籍你还担心你的python学不好吗?
python基础教程(第二版)PDF高清版免费下载地址: 提取码:chcj 值得花时间阅读的一本书 内容简介 · · · · · · 本书是经典教程的全新改版,作者根据Python 3.0版本的种种 ...
- 【面试必备】 【ES6】学Vue前必须掌握的内容(上)
变量声明 采用 let 和 const 分别声明变量和常量. 不用var所以不存在变量提升. 解构 ① 数组解构[ ] 等号左边允许存在默认值.变量的取值按照顺序. //之前的写法 var arr=[ ...
- java HashMap 原理
jdk1.7 和 1.8 大致相同但还是有区别,主要是数据结构的区别,1.7 为数组+链表:1.8 为数组+链表+红黑树 关键知识点 加载因子:装填因子,目的是何时对 map 进行扩容,默认是 0.7 ...
- React.CreateContext
跨组件传递的内容组件,该组件导出两个对象Provider 提供数据, Consumer, 消费数据 Context被翻译为上下文,在React的官方文档中归类于高级部分,属于React的高级API,但 ...
- python自动化-取消"Chrome正受到自动软件的控制"提示
chrome浏览器V78及以上版本解决做法,代码如下: from selenium import webdriver chrome_options = webdriver.ChromeOptions( ...
- 集成mupdf实现手写笔签批应用
1. 首先,需要在Android Studio中集成mupdf,使用Android Studio的Gradle构建系统,可以在dependencies中添加如下依赖: implementation ' ...
- cuda、cudnn、tnesorrt的查看安装
1.首先本地查看cuda已安装的版本 11.7输入命令:[nvcc -V]输出:nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2022 ...