VS的debug功能非常强大,相比而言linux上的图形化调试一直不是很好用。
如果可以使用VS来调试linux程序,应该是一件比较愉快的事情。
这在2015中变得可能,因为从2015开始VS支持Android、iOS开发和调试。
虽然并没有正式提供linux程序的调试支持,但是可以通过一些技巧达到
微软开源了MIEngine项目,通过Machine Interface ("MI")与gdb、lldb交互。
VS通过该MIEngine即可调试linux程序(visual studio code的cpptools插件也集成MIEngine)。
首先在linux主机(虚拟机)上使用-g编译c++代码
下载plink,并测试ssh可以登录
VS2015在安装时需要勾选交叉平台手机开发下面的Visual C++手机开发
新建一个c++ makefile项目,把源码添加到项目中
新建一个debug.xml文件,输入以下内容
PipePath="plink.exe" PipeArguments="-pw 123456 user@server -batch -t gdb --interpreter=mi"
ExePath="/home/user/YourDir/exe" ExeArguments=""
TargetArchitecture="X64" WorkingDirectory="/home/user/YourDir" AdditionalSOLibSearchPath="">
需要注意:
plink需要在系统path中,如果plink无法找到,会弹窗提示无法找到文件
plink支持password和ppk两种方式登录
打开 view -> other window -> command window
输入命令
`Debug.MIDebugLaunch /Executable:foo /OptionsFile:d:debug.xml`
有些过时的教程使用GDBLaunch,已废弃
foo 名字自定义,不重要
OptionsFile 需要绝对路径,如果找不到OptionsFile,则报错
Options file '*.xml' does not exist