1.引言
在知乎看到别人说微软提供了一个插件,可以支持在visual C++下进行LINUX程序的开发调试。
对于我这样不爱用VIM,EMACS编辑器的人,都是在WINDOWS基于sublime开发,然后在linux server上用gdb调试运行。调试时设置断点、查看函数调用栈、变量值的时候通过命令设置,不是特别方便。如果有这样的一个工具,还真是一种福利。
2.环境安装
2.1 visual studio2015安装
我在官方下载的社区版在线安装。 visual studio下载链接
2.2 visual studio update3包安装
visual studio2015 update3下载链接 不安装无法安装visual c++ on linux.
2.3 visual c++ on linux 包安装
3.基本使用示例
3.1 新建LINUX工程
我目前开发的都是linux server服务器端程序,所以肯定选择控制台程序。
3.2 检查Linux server的依赖组件是否安装
sudo yum install openssh-server g++ gdb gdbserver
- openssh-server 是为了接收visual studio的ssh连接请求
- g++ 编译器
- gdb 调试器
- gdb server 支持gdb远程调试
3.3 visual studio2015 ssh配置
在选项中配置cross Platform中的connect信息
3.4 配置并编译工程
编译时报错,意思是不支持C++11,如果您的目标环境中g++版本较低,请修改配置项。选择 C++03,具体支持,请根据目标环境而定。
点击生成菜单中的“生成解决方案”,发现可以正确编译通过。
1>------ 已启动生成: 项目: LinuxOnWindowsTest, 配置: Debug x64 ------
1> Validating architecture
1> Validating sources
1> Copying sources remotely
1> Starting remote build
1> Compiling sources:
1> main.cpp
1> Linking objects
1> LinuxOnWindowsTest.vcxproj -> D:\\LinuxOnWindowsTest\LinuxOnWindowsTest\bin\x64\Debug\LinuxOnWindowsTest.out
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========
3.5 调试视图
可以看到,我们可以像在windows平台上设置断点,单步调试。查看变量,查看函数栈。
附
由于我配置的Linux Server是一个远程服务器,所以在调试的时候有些卡顿,这还只是一个小程序,如果是一个大工程,体验如何?后续还是自己配置一个在同一局域网的Linux Server使用为好。