利用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,輸出類似如下列印則表示配置完成
相關文章
- Windows10 VS2017 C++編譯Linux程式WindowsC++編譯Linux
- 在Linux上使用vscode編譯除錯C/C++程式碼LinuxVSCode編譯除錯C++
- 嵌入式GDB除錯Linux C程式或交叉編譯(開發板)除錯LinuxC程式編譯
- vscode+C 編譯除錯VSCode編譯除錯
- C編譯: 使用gdb除錯編譯除錯
- # Xcode 編譯器除錯命令(所有)XCode編譯除錯
- ollvm在VS2017下編譯LVM編譯
- vscode 除錯linux程式VSCode除錯Linux
- 反除錯 -- 利用ptrace阻止偵錯程式附加除錯
- 反除錯&反反除錯 -- 利用sysctl檢測偵錯程式是否存在除錯
- 編譯除錯Net6原始碼編譯除錯原始碼
- 編譯修改*火GPS除錯助手(開源)編譯除錯
- Android Studio中編譯除錯Launcher3Android編譯除錯
- Idea除錯Rocketmq原始碼編譯執行Idea除錯MQ原始碼編譯
- Ubuntu中用VScode編譯除錯C\C++UbuntuVSCode編譯除錯C++
- Android Apk反編譯系列教程(三)Android Studio除錯smali程式碼AndroidAPK編譯除錯
- Linux中使用GDB除錯程式Linux除錯
- 利用QEMU+GDB搭建Linux核心除錯環境Linux除錯
- [轉載]VS2017除錯閃退之Chrome除錯Chrome
- IjkPlayer. 可編譯及動態除錯native編譯除錯
- Spark原始碼編譯與匯入IDEA除錯Spark原始碼編譯Idea除錯
- 【譯】使用可編輯表示式改進除錯除錯
- linux環境下vscode 中C/C++編譯及除錯環境的搭建LinuxVSCodeC++編譯除錯
- Linux除錯Linux除錯
- cesium原始碼編譯除錯及呼叫全過程原始碼編譯除錯
- 教你如何動態除錯 iOS App(反編譯App)除錯iOSAPP編譯
- 詳解Linux 程式編譯過程Linux編譯
- VS2017平臺編譯 zmq-4.2.5 過程編譯MQ
- 在windows上配置vs code編譯除錯c/c++Windows編譯除錯C++
- GDB 除錯 Mysql 實戰(一)原始碼編譯安裝除錯MySql原始碼編譯
- 【翻譯】rocksdb除錯指引除錯
- ipvs編譯錯誤編譯
- 有關Linux的可執行程式——動態編譯、靜態編譯、readelfLinux行程編譯
- Linux中程式包管理及程式的原始碼編譯Linux原始碼編譯
- maven 混合編譯 java/scala 程式碼報錯(qbit)Maven編譯Java
- Python 程式碼除錯—使用 pdb 除錯Python除錯
- windows上通過IDA遠端除錯linux程式Windows除錯Linux
- 如何編譯 Linux 核心編譯Linux