根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成。主要是作为个人学习记录。有错误的地方,Robin欢迎大家指正。

本文演示如何使用VS来构建和调试Linux应用程序。

为了尝试本文中的步骤,你需要一台Windows机器和一台Linux机器:

  • 两个物理电脑;
  • 一个Windows电脑及运行在其上的Linux虚拟机(使用VIRTUALBOX/VMWARE);
  • 一个Linux电脑及运行在其上的Windows虚拟机(使用VIRTUALBOX/VMWARE)。

为了使用VisualGDB创建、构建、调试一个简单的Linux应用程序,需要遵循以下步骤。

1 下载安装

下载并安装最新的VisualGDB。

2 选择项目类型

在Windows电脑上启动VS,选择”File->New project”,然后选择”VisualGDB->Linux Project Wizard”,并设定项目位置后点击”OK”:

3 选择构建子系统

VisualGDB Linux项目向导启动后,需要选择构建子系统(build subsystems)。VisualGDB支持4中不同的构建子系统来创建Linux项目。本文选择使用MSBuild子系统(对于大多数新建项目,推荐该子系统):

接下来分别介绍这4种子系统。

3.1 MSBuild

对于大多数项目来说我们推荐使用MSBuild,因为它能提供原生的感官风格。

VisualGDB MSBuild后端优化很大,能够很快将文件传递到Linux机器上并构建它们。

MSBuild也能够在Linux机器上处理所有的依赖。即便对于缓慢的网络连接,也能够减少延时。

3.2 CMake

如果你想不使用VS而直接在Linux机器上构建项目,可以参考系列文档《使用VS创建CMake Linux项目》来创建一个基于CMake的项目。

3.3 Qt

如果你的项目使用Qt,可以选择”Use Qt”来使用QMake。

3.4 GNU Make

如果你只是单纯的想使用GNU Make,VisualGDB也能够支持。它支持通过VisualGDB GUI来编辑Makefile文件,也能自动配置IntelliSense。

4 建立SSH连接

如果你之前从没有创建过项目,在下一页选择”Create a new SSH connection”:

提供主机名,用户名和密码。推荐勾选”setup public key”复选框,勾选后,VisualGDB就可以自动产生一个public/private keypair,将其存储到你Windows账户的key container中,并使用它来远程连接Linux机器。

如果你没有使能public key授权,VisualGDB将会记住这次连接的密码。存储的密码使用一个key来加密,该key存储在你Windows账户中。后面只有使用你的Windows账号来登录,该密码才是可用的。

5 选择工具链(toolchain)

如果你想使用不同的工具链(比如LLVM),可以在工具链列表中选择。工具链列表的右侧有个配置按钮,使你能够定制单独的工具,比如编译器。

也可以在这里选择一个交叉编译器,或者设定一个不同的部署机器。根据本页面下方的图表来检查你的配置是否正确:

  • 锤子图标对应的是运行编译器的机器;
  • “Play”图标对应的机器是,连接(launched)的被调试程序所在的机器。

6 测试工具链

点击”Next”后,VisualGDB通过尝试编译并运行一个普通程序来测试你的工具链。如果这一步检测出错误,可以看到详细的错误日志及进一步的问题解决信息。

7 选择源码访问方式

因为同一份代码需要在Windows上编辑,然后在Linux上编译,VisualGDB需要保持源码同步。最简单的方式是,通过SSH方式自动进行文件上传。当然,VisualGDB能够建立共享文件夹(需要root密码)。

如果你使用CMake,还可以配置VisualGDB,从而能够以SSH方式直接访问Linux机器上的源码,就像这些源码存在于Windows上一样。

8 完成项目创建

点击”finish”完成创建向导。如果你是第一次使用这个Linux机器创建项目,VisualGDB将会对include目录进行本地缓存,从而可以在IntelliSense中使用。

9 程序调试

恭喜,到这一步项目就创建成功了。现在可以构建你的项目,设置一个断点,按F5开始调试程序了。

可以通过如下命令为远程console切换黑/白主题:

Tools->Options->VisualGDB->General->GUI->use classic black and white color scheme for consoles

10 修改调试settings

Solution Explorer中,在项目上右键并选择”VisualGDB Project Properties”,就可以修改各种调试settings了。

在VisualGDB Project Properties窗口中,你可以改变各种settings,也可以在configurations之间拷贝settings。在左边的搜索框中,可以使用关键字来查找settings。

11 两种方式修改项目的settings

有两种方式修改项目的属性,一种是VisualGDB提供的修改捷径,另一种是在VS的属性窗口中

11.1 在VisualGDB Project Properties中修改

对于一些类似”Include directories”这样的通用配置,在”MSBuild Settings page”中VisualGDB提供了方便的修改捷径:

11.2 在VS属性窗口中修改

当然,也可以在常规的VS Properties中修改,既可以修改项目的属性,也可以修改单个文件的属性:

12 使用VisualGDB工具栏

在VS的菜单栏上右键单击来使能VisualGDB工具栏。这将提供常用功能的快捷使用方式(比如,为下次程序运行改变程序的参数):

13 获得精确的IntelliSense

VisualGDB使用准确的头文件来获得最精确的IntelliSense,这些头文件来自Linux机器。每个远程机器的头文件都单独缓存在” %LOCALAPPDATA%”下。

14 基于Clang的IntelliSense引擎

VisualGDB5.0及其后续版本包括一个基于Clang的IntelliSense引擎,能够支持GNU C/C++扩展,比如结构体初始化列表:

15 支持”Create from use”和C/C++ code map

VisualGDB还支持一些特性,比如”Create from use”,详细的C/C++ code map等。

尝试调用一个不存在的函数时,会打开智能的tag菜单并选择”Create function/method stub”:

VisualGDB将会自动检测参数的类型,并让你选择一个地方来保存产生的函数stub:

最新文章

  1. 使用CSS3制作三角形小图标
  2. Uva 11059 Maximum Product
  3. JSP基础总结 脚本元素
  4. 【Beta阶段】团队源代码管理
  5. 1.5如何学习Linux驱动开发
  6. (转)OpenVPN使用HTTP代理连接服务器
  7. 如何使一个你没有源代码的DLL文件变为强命名的DLL
  8. js导出成excel
  9. 关于hosts文件的原理与制作
  10. 盘点 Python 中的那些冷知识(二)
  11. [Linux] 使用Yum在CentOS上安装MySQL
  12. Log4j介绍与使用
  13. memcache启动报错:memcached: error while loading shared libraries: libevent-XXXXX5: cannot 。。。。
  14. 201671010147 2017年8月27号 初学java的感想
  15. WinHex数据恢复笔记(一)
  16. Beta冲刺(4/5)(麻瓜制造者)
  17. java和javaScript创建方式
  18. [代码审计]某租车系统JAVA代码审计[前台sql注入]
  19. JaveWeb 公司项目(3)----- 通过Thrift端口获取数据库数据
  20. <Spark><Running on a Cluster>

热门文章

  1. 我的Android进阶之旅------>对Android开发者有益的40条优化建议
  2. l如何把SQLServer表数据导出CSV文件,并带列名
  3. MyBatis:学习笔记(4)——动态SQL
  4. 一张图学习vim常用命令
  5. 每天一个Linux命令(16)which命令
  6. 【Flask】query可用参数
  7. <linux是怎么跑的?>傻瓜视角看linux引导启动过程
  8. 暑假集训第一周比赛G题
  9. jsonpath对json数据进行分析校验做接口测试
  10. Linux Shell文件差集