VisualGDB系列4:概述-Linux程序与VS

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

         本文将会阐述如何使用VisualGDB来构建和调试Linux应用程序:涉及到哪些工具,以及它们之间是如何交互的。

         后续博文会介绍如何使用VisualGDB来一步步构建Linux应用程序。

         使用VisualGDB来构建和调试Linux应用程序涉及到两台电脑:一台是运行VS的Windows电脑,另一台是能够进行SSH访问的Linux系统电脑。

                       

         VisualGDB将如下任务无缝集成到VS中:

  • 构建你的项目;
  • 调试应用程序;
  • 对Linux include文件进行IntelliSense支持。

1 源文件位置

         使用VS创建基于VisualGDB的Linux项目时,VisualGDB向导允许你选择一个Linux电脑上的目录,该目录用于在Linux电脑上存储该项目。每个源文件会有两个实例:一个在Windows电脑上,另一个在Linux电脑上。默认的Linux目录是:/tmp/VisualGDB/<ProjectName>。

2 构建项目(build the project)

         当使用VS构建Linux项目时,VisualGDB将会在后台做如下事情:

(1) 检查你是否添加、删除、重命名了源文件,如果是,就会自动更新Makefile文件;

(2) 检查是否引用了任何使用VisualGDB构建的库项目,如果是,则将其更新到Makefile文件中;

(3) 如果你要重新构建该项目,或者Linux电脑上不存在目标目录,那么所有的源文件将会发送到Linux电脑上。否则,VisualGDB只会检查最后一次构建之后哪些文件有了变化,并将这些变化了的文件发送到Linux电脑上;

(4) 最后,VisualGDB将会在Linux电脑上发起GNU make命令,从而让其构建你的应用程序;

(5) 如果GNU make或gcc报告了错误,VisualGDB将错误信息转换成VS格式,并显示到错误面板上。Linux文件名称会自动转换成相应的Windows文件名称。

3 调试应用程序

         在VS中,当你使用GDB选择Debug->Start Debugging,VisualGDB将会在Linux电脑上发起一个gdb实例,并在后台控制它。使用VisualGDB进行调试,和使用VS调试一个普通的Windows应用程序没有什么区别:单步,watch窗口,调用栈,内存,汇编及其他的特性。VisualGDB会处理文件名称的转换。

         然后,还可以通过GDB会话窗口来查看向GDB发送了哪些命令。如果你习惯了命令行调试,还能够发送你自己的命令。

4 IntelliSense支持

         当你要创建或引入一个Linux项目,VisualGDB将会从远程电脑上查询标准的inclue文件位置,并将它们拷贝到你的Windows电脑上,然后添加到该项目的IntelliSense include位置。于是,code suggestion将会像Windows项目一样地工作。通过使用VisualGDB Project Properties窗口或Source Cache Manager,你也可以控制缓存目录。

原文地址:https://www.cnblogs.com/robinex/p/7841606.html