VisualGDB系列2:VisualGDB对Linux平台的支持特性
2017-11-14 23:39
423 查看
根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成。主要是作为个人学习记录。有错误的地方,Robin欢迎大家指正。
创建新的Linux项目;
导入已经存在的项目;
Attach到一个进程上;
调试已经构建好的可执行程序;
打开崩溃dump文件。
能够以如下方式来构建和调试代码:
直接在Linux平台上构建和调试代码;
使用交叉编译器,在Windows平台上构建和调试代码;
从一台Linux机器上构建和调试另一台机器上的代码。
VisualGDB能够进行源码上传、二进制部署、IntelliSense部署、配置验证等等,从而使你将精力集中到代码上。
它可以处理部署、调试、符号(symbols),并提供一个简单的接口来同步你的toolchain和设备之间的sysroot。
查看/编辑单独的targets和源文件;
使用VS属性页来编辑通用配置;
为每个target来配置deployment settings;
查看/设置targets之间的关系。
还要维护两个并行的项目系统?忘掉这些吧!只要使用高级的CMake,就可以让VisualGDB来为你处理CMakeLists.txt文件。
高度优化的、高可扩展性的profiling database format;
直观报告视图,能够即时搜索和能力排序;
方便的annotation mode,能够展示源码中每行代码的性能消耗,并对函数之间的运行时关系进行可视化显示。
可以轻松地导入复杂的CMake项目。VisualGDB能够为此自动配置IntelliSense,无论你的CMake文件多么的复杂。
将改动的源文件自动上传到Linux机器上;
在Windows或Linux平台上能够自动配置共享文件夹;
为了更快的响应IntelliSense运行,缓存Linux include目录;
当你step into到一个缺失的源文件时,能够帮你自动下载这个文件。
对于使用了高级CMake子系统的项目,VisualGDB能够通过SSH方式直接访问源文件。
在一个强大的终端模拟器中查看你的程序输出;
只需轻轻一点,就能打开一个后台SSH shell;
可以双向快速发送文件或整个目录;
支持鼠标、功能键;
可以从任何主机选择对话框登录到一个多tab页的SSH客户端;
通过重用SSH连接,快速构建和调试程序。
无论你是想远程构建项目,或者想使用本地的交叉工具链(cross-toolchain),你都可以使用常规的Test Explorer窗口来运行Linux机器上的测试用例。
一个单独的、带有XML报告的命令行模式,使得持续集成简单直接。
VisualGDB使用一个高度优化的coverage database format。即便是对于大型的项目,都可以及时搜索和高亮显示。
VisualGDB能自动安装、配置Valgrind,使你不再担心PIDs、Valgrind prefixes、以及多用户同时使用的问题。
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系列7:使用VS创建Linux静态库和动态库
- VisualGDB系列6:远程导入Linux项目到VS中
- spice在桌面虚拟化中的应用系列之二(Linux平台spice客户端的编译安装,支持USB映射)
- VisualGDB系列10:快速调试Linux应用程序
- VisualGDB系列5:使用VS来开发Linux程序
- VisualGDB系列11:Linux C++项目中使用外部Linux库
- VisualGDB系列4:概述-Linux程序与VS
- VisualGDB系列9:配置VS直接通过SSH方式访问Linux项目
- 微软发布支持 Linux 和 OS X 平台的 Visual Studio Code
- 【10.2移动新特性】平台支持和数据源支持增强,最新的平台和全新的数据格式!
- Linux系列-Red Hat5平台下的Samba服务搭建
- 测试MTK andriod 平台是否支持 LINUX GPIO通用操作函数
- 解决Ubuntu(Linux)平台下Sublime Text 3 安装中文输入支持库后 开启gnome-terminal报错的问题
- RAD Studio XE2新特性概览:多平台支持、原生iOS与Android、HD与3D动画及云
- C++11 Features in Visual C++ 11 - VS2010对C++11特性支持的情况
- Linux平台下GCC和GDB的使用注意点
- Linux系列-Red Hat5平台下的Iptables防火墙应用(一)翻出老家底——咱们来学Iptables
- C++11 Features in Visual C++ 11 - VS2010对C++11特性支持的情况
- 用vs2008编写和调试linux程序 ----VisualGDB 使用教程
- Visual EmbedLinux Tools 0.2.9:让vs2013支持更多语言的语法高亮