Visual Studio 2015中使用gdb遠程調試linux程序


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)。

MIEngine的wiki有篇文章介紹了調試步驟。Start debugging other platforms using the MIEngine
不過由於文章較為簡略,還是踩了點坑

  1. 首先在linux主機(虛擬機)上使用-g編譯c++代碼
  2. 下載plink,並測試ssh可以登錄
  3. VS2015在安裝時需要勾選交叉平台手機開發下面的Visual C++手機開發
  4. 新建一個c++ makefile項目,把源碼添加到項目中
  5. 新建一個debug.xml文件,輸入以下內容
<PipeLaunchOptions xmlns="http://schemas.microsoft.com/vstudio/MDDDebuggerOptions/2014" 
        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=""> 
</PipeLaunchOptions>

需要注意:

  • plink需要在系統path中,如果plink無法找到,會彈窗提示無法找到文件
  • plink支持password和ppk兩種方式登錄
  1. 打開 view -> other window -> command window
  2. 輸入命令
`Debug.MIDebugLaunch /Executable:foo /OptionsFile:d:\debug.xml`
  • 有些過時的教程使用GDBLaunch,已廢棄
  • foo 名字自定義,不重要
  • OptionsFile 需要絕對路徑,如果找不到OptionsFile,則報錯
    Options file '*.xml' does not exist


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM