利用VS2017編譯、除錯Linux程式
VS2017提供了交叉編譯的功能。即可在windows機器上使用VS方便的編輯、除錯Linux機器上的程式。
大致流程是這樣的:
1、在windows機器上編輯程式碼;
2、VS通過SSH將程式碼傳送到Linux機器上進行編譯、連結;
3、呼叫Linux機器上的GDB除錯程式,並將除錯過程中的狀態同步至windows機器;
下文將Windows環境稱為Host端,Linux環境稱為Device端。為了實現上述功能需要在Host、Device 2端進行配置。
Device端:
- 安裝openssh-server ,用於和Host端進行通訊;
- 安裝g++,用於編譯源程式;
- 安裝gdb和gdb-server,用於除錯程式;
- 安裝源程式依賴的庫及執行時;
Host端:
1) VS2017: tools ->Options->Cross Platform -> Connection Manager -> Add.
在Connect to Remote System中配置Device端的登入資訊。其中
-Host name:Device端的IP或域名
-Port:通訊埠,保持預設配置
-User name:Device端系統的登入名
-Authentication Type:保持預設,密碼登入
-Password:Device端的登入密碼
2)將Device端的依賴庫和執行時的標頭檔案(如果有的話),Copy到Host端上,假設標頭檔案在Host端上的路徑為${DPENDENCES_DIR};
3)VS2017: Project -> Properties->General
-Remote Build Machine: 保持和1)中的Connect to Remote System一致
4) VS2017:Project->Properties->C/C++
-Additional Include Directories: 加入2)中的${DEPENDENCES_DIR}
5) 最後驗證配置是否成功。在VS中Build,輸出類似如下列印則表示配置完成
相關文章
- vs2017除錯Linux程式除錯Linux
- Windows10 VS2017 C++編譯Linux程式WindowsC++編譯Linux
- Linux 下編譯及除錯 C 程式碼的簡易指南Linux編譯除錯
- 在 Linux 下編譯及除錯 C 程式碼的簡易指南Linux編譯除錯
- C編譯: 使用gdb除錯編譯除錯
- C 編譯: 使用 gdb 除錯編譯除錯
- 使用gdb編譯除錯mysql編譯除錯MySql
- 在Linux上使用vscode編譯除錯C/C++程式碼LinuxVSCode編譯除錯C++
- 利用chrome除錯JavaScript程式碼Chrome除錯JavaScript
- # Xcode 編譯器除錯命令(所有)XCode編譯除錯
- 編譯除錯Net6原始碼編譯除錯原始碼
- vscode+C 編譯除錯VSCode編譯除錯
- 反除錯 -- 利用ptrace阻止偵錯程式附加除錯
- 反除錯&反反除錯 -- 利用sysctl檢測偵錯程式是否存在除錯
- ollvm在VS2017下編譯LVM編譯
- [譯]用 LLDB 除錯 Swift 程式碼LLDB除錯Swift
- Idea除錯Rocketmq原始碼編譯執行Idea除錯MQ原始碼編譯
- 編譯修改*火GPS除錯助手(開源)編譯除錯
- 10個最好用的線上編譯/除錯工具編譯除錯
- 利用雙計算機除錯遊戲程式 (轉)計算機除錯遊戲
- [轉載]VS2017除錯閃退之Chrome除錯Chrome
- Spark原始碼編譯與匯入IDEA除錯Spark原始碼編譯Idea除錯
- Ubuntu中用VScode編譯除錯C\C++UbuntuVSCode編譯除錯C++
- cesium原始碼編譯除錯及呼叫全過程原始碼編譯除錯
- Android Studio中編譯除錯Launcher3Android編譯除錯
- 教你如何動態除錯 iOS App(反編譯App)除錯iOSAPP編譯
- codeblocks中,啟動、編譯、除錯ROS節點BloC編譯除錯ROS
- 交叉編譯和交叉除錯環境搭建及使用編譯除錯
- 利用QEMU+GDB搭建Linux核心除錯環境Linux除錯
- vscode 除錯linux程式VSCode除錯Linux
- Linux中使用GDB除錯程式Linux除錯
- VS2017平臺編譯 zmq-4.2.5 過程編譯MQ
- Android Apk反編譯系列教程(三)Android Studio除錯smali程式碼AndroidAPK編譯除錯
- GDB 除錯 Mysql 實戰(一)原始碼編譯安裝除錯MySql原始碼編譯
- IjkPlayer. 可編譯及動態除錯native編譯除錯
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- linux(ubuntu)下的64位編譯器編譯32位程式LinuxUbuntu編譯
- VS2012編譯除錯WDM驅動(KdPrint無除錯資訊 debugview win7無除錯資訊)編譯除錯ViewWin7