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

1 复杂问题的直观解决方案

只需要轻点几下鼠标,就可以使用VisualGDB轻松地去完成如下任务:

  • 创建新的Linux项目;
  • 导入已经存在的项目;
  • Attach到一个进程上;
  • 调试已经构建好的可执行程序;
  • 打开崩溃dump文件。

能够以如下方式来构建和调试代码:

  • 直接在Linux平台上构建和调试代码;
  • 使用交叉编译器,在Windows平台上构建和调试代码;
  • 从一台Linux机器上构建和调试另一台机器上的代码。

VisualGDB能够进行源码上传、二进制部署、IntelliSense部署、配置验证等等,从而使你将精力集中到代码上。

2 支持流行boards的交叉工具链

VisualGDB自带交叉工具链(cross-toolchains),能够支持许多流行的Linux boards,比如Raspberry Pi。当你在向导中选择一种board后,VisualGDB就可以对其自动下载和配置。

它可以处理部署、调试、符号(symbols),并提供一个简单的接口来同步你的toolchain和设备之间的sysroot。

3 高级的CMake项目子系统

VisualGDB引入了部分程度匹配的CMake。使用Solution Explorer来管理复杂的CMake项目,而不需要手动编辑CMakeLists.txt文件,也不需要记住相应的语法:

  • 查看/编辑单独的targets和源文件;
  • 使用VS属性页来编辑通用配置;
  • 为每个target来配置deployment settings;
  • 查看/设置targets之间的关系。

还要维护两个并行的项目系统?忘掉这些吧!只要使用高级的CMake,就可以让VisualGDB来为你处理CMakeLists.txt文件。

4 强大的Linux profiler

VisualGDB包括一个强大的、基于valgrind的Linux profiler。它拥有以下特性:

  • 高度优化的、高可扩展性的profiling database format;
  • 直观报告视图,能够即时搜索和能力排序;
  • 方便的annotation mode,能够展示源码中每行代码的性能消耗,并对函数之间的运行时关系进行可视化显示。

5 集成流行的构建系统(build systems)

VisualGDB能够使用GNU Make、CMake、Qt QMake来创建Linux项目,也能够导入已经存在的项目。强大的GUI界面能够掌控各种复杂的配置,并为你处理IntelliSense,让你不再为此担心。

可以轻松地导入复杂的CMake项目。VisualGDB能够为此自动配置IntelliSense,无论你的CMake文件多么的复杂。

6 源码同步更加简单

VisualGDB能够完全胜任自动化的文件同步工作:

  • 将改动的源文件自动上传到Linux机器上;
  • 在Windows或Linux平台上能够自动配置共享文件夹;
  • 为了更快的响应IntelliSense运行,缓存Linux include目录;
  • 当你step into到一个缺失的源文件时,能够帮你自动下载这个文件。

对于使用了高级CMake子系统的项目,VisualGDB能够通过SSH方式直接访问源文件。

7 内置于Visual Studio的SSH客户端

享用内置的、和xterm兼容的、基于SmarTTY的终端:

  • 在一个强大的终端模拟器中查看你的程序输出;
  • 只需轻轻一点,就能打开一个后台SSH shell;
  • 可以双向快速发送文件或整个目录;
  • 支持鼠标、功能键;
  • 可以从任何主机选择对话框登录到一个多tab页的SSH客户端;
  • 通过重用SSH连接,快速构建和调试程序。

8 无缝集成单元测试

对于开箱即用的Linux项目,VisualGDB支持CPPUTest和GoogleTest框架。

无论你是想远程构建项目,或者想使用本地的交叉工具链(cross-toolchain),你都可以使用常规的Test Explorer窗口来运行Linux机器上的测试用例。

一个单独的、带有XML报告的命令行模式,使得持续集成简单直接。

9 直观的代码覆盖分析

在VisualGDB项目属性页(Project Properties)使能项目的代码覆盖报告(code coverage reporting),就可以享用直观的覆盖报告(coverage reports),从而通过简单的搜索、过滤、排序以及高亮显示,来帮助你即时定位代码中缺失的部分。

VisualGDB使用一个高度优化的coverage database format。即便是对于大型的项目,都可以及时搜索和高亮显示。

10 动态程序分析

VisualGDB包括对Valgrid动态分析的支持。通过VisualGDB Project Properties就可以使能这个特性,然后就可以快速检查程序中的问题,如难以跟踪的内存访问错误问题,内存泄漏,状态条件竞争,不正确地使用同步原语,以及其他更多的场景。

VisualGDB能自动安装、配置Valgrind,使你不再担心PIDs、Valgrind prefixes、以及多用户同时使用的问题。

11 使用VisualKernel进行内核模式调试

使用单独的、基于VisualGDB引擎的产品VisualKernel,可轻松地构建、调试你的Linux内核模块。

VisualGDB系列2:VisualGDB对Linux平台的支持特性的更多相关文章

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

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

  2. VisualGDB系列7:使用VS创建Linux静态库和动态库

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何在VS中创建静态库和动态库, ...

  3. VisualGDB系列1:VisualGDB总体概述

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

  4. .NET平台系列27:在 Linux 上安装 .NET Core/.NET5/.NET6

    系列目录     [已更新最新开发文章,点击查看详细] .NET 在不同的 Linux 发行版上可用. 大多数 Linux 平台和发行版每年都有一个主要版本,并提供用于安装 .NET 的包管理器. 本 ...

  5. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  6. Linux平台开发指南

    声明:以下内容摘自http://www.me115.com/post/25.html 以下技术和工具是Linux平台下工作的基础,熟练掌握: C++ 工作语言,重要性不言而喻: 入门: <C++ ...

  7. Linux平台上轻松安装与配置Domino

    Linux平台上轻松安装与配置Domino Domino Server的编译安装过程中需要用到libstdc++-2.9和glibc-2.1.1(或者其更高的版本)两个编译模块,它们是Linux开发编 ...

  8. Storm 系列(二)实时平台介绍

    Storm 系列(二)实时平台介绍 本章中的实时平台是指针对大数据进行实时分析的一整套系统,包括数据的收集.处理.存储等.一般而言,大数据有 4 个特点: Volumn(大量). Velocity(高 ...

  9. Linux平台 Oracle 19c RAC安装Part3:DB配置

    Linux平台 Oracle 19c RAC安装Part3:DB配置 四.DB(Database)配置 4.1 解压DB的安装包 4.2 DB软件配置 4.3 ASMCA创建磁盘组 4.4 DBCA建 ...

随机推荐

  1. 我的Android进阶之旅------>启动Activity的标准Action和标准Category

    Android内部提供了大量标准的Action和Category常量. 除了参考本文外,您还可以参考了以下链接: http://developer.android.com/reference/andr ...

  2. mysql 导入数据是报错:2006 - MySQL server has gone away

    导SQL数据库结构+数据时,如果数据是批量插入的话会报错:2006 - MySQL server has gone away. 解决办法:找到你的mysql目录下的my.ini配置文件,加入以下代码 ...

  3. 北京君正集成电路的Newton平台--穿戴式

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/hellomxj1/article/details/25324125   Newton1开发平台 • 很适合 ...

  4. Adam 算法

    简介 Adam 是一种可以替代传统随机梯度下降(SGD)过程的一阶优化算法,它能基于训练数据迭代地更新神经网络权重.Adam 最开始是由 OpenAI 的 Diederik Kingma 和多伦多大学 ...

  5. k近邻算法(k-nearest neighbor,k-NN)

    kNN是一种基本分类与回归方法.k-NN的输入为实例的特征向量,对应于特征空间中的点:输出为实例的类别,可以取多类.k近邻实际上利用训练数据集对特征向量空间进行划分,并作为其分类的"模型&q ...

  6. 改善程序与设计的55个具体做法 day7

    条款18:让接口容易被正确使用,不易被误用 这里说的接口是广义上的接口,即包括但不限于函数接口.类接口.template接口等,每一种接口都是客户与你的代码进行交互的手段. 我们对客户的所谓“资质或水 ...

  7. MySQL root 密码重置

    安全模式重置法 基本的思路是,以安全模式启动mysql,这样不需要密码可以直接以root身份登录,然后重设密码. 1. 停止 MySQL 服务 [molo.wu@shark mysql (master ...

  8. vim打开多个文件方式及操作

    格式如下: #vim file*.txt 或者 #vim file file2 file3 查看当前编程的是那个文件,在冒号命令行下 :args 命令,类似:file [file2],以中括号里面为当 ...

  9. hive启动时报错 java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D at org.apache.hadoop.fs.Path.initialize

    错误提示信息如下 错误信息如下 [root@node1 bin]# ./hive Logging initialized -bin/lib/hive-common-.jar!/hive-log4j.p ...

  10. 囤题&&发布记录

    声明 && 温馨提示 by ljh2000 听说有人很喜欢狙我......看我不把你们抓起来嘿嘿嘿! 为了采取措施,不让被狙成为生活常态(雾   ,我要闭关锁国辣,我要开始(屯田)囤题 ...