引言
欲善其事必先利其器也!
目前經常使用的IDE工具有如下幾種:
Visual studio,經常使用VS在Windows下面除錯大型程式,對于一個含有很多工程的大型程式來說,VS毋庸置疑是最佳的開發和除錯工具,對于C++的初學者和開發者來說都是很不錯的選擇,就像一個小伙伴曾經說過的那樣,使用VS追蹤死鎖問題都是非常方便的,對于打算開始入手學習WebRTC的童鞋還是建議從Windows VS工程開始搞起,
VSCode,各種平臺下的用戶體驗都是極好的,代碼主題和顯示效果都是最佳的,而且輕量級的,資源消耗少;另外支持多種語言的開發,只需安裝相應的插件,安裝、配置、學習的成本都是很低的,
CLion,Jetbrains公司推出的一款專為開發C/C++所設計的跨平臺IDE,不得不說Jetbrains出的產品就是讓人信賴,用戶體驗也是很不錯的,我喜歡使用clion除錯cmake工程,只需簡單的引入工程就可正常的開發除錯,還是很爽歪歪的,另外使用過一段時間Intellij IDEA開發過JAVA程式,真的開發效率大大提升,真的是Java程式員的神兵利器!大愛!不過因為是基于Java虛機JDK開發運行的,所以資源消耗較多,這點體驗不是很好,
對于經常多語言開發的童鞋,VSCode絕對是明智的選擇,我使用最多的還是C++、Node.js的混合開發除錯以及go語言的開發,而且VSCode對與docker的支持也是體驗很爽的,下面主要講一講「Centos7下VSCode混合除錯C/C++和Node.js工程」,
本文以node.js開發Hello world addon為例
Node.js基于GYP(Generate Your Projects)構建C/C++插件的工具是node-gyp,它可以將C++插件代碼編譯成.node檔案,其實質是一個動態庫,可以自動生成make、cmake工程對應的Makefile和CMakeList.txt檔案,
單獨除錯C/C++代碼
launch.json檔案如下:
這樣就可以在Start Debugging的時候,會依據launch.json執行,當給C++代碼標記斷點后,程式運行到斷點處就會停住,此時js代碼不處于除錯狀態,另外使用lldb插件也可以起到相同的效果,不過需安裝lldb插件:
此時只需將type改為lldb即可,lldb是llvm的一個類似gdb的實作,這個插件是用來支持llvm編譯器的,
混合除錯C/C++和Node.js
先啟動Node.js工程開始除錯后,接著啟動C/C++除錯器,Attach到相應的行程上,這樣在深入js代碼的同時,還可以除錯C++ Addons[1]部分的代碼,了解底層的呼叫邏輯,
launch.json檔案如下:
配置中的第一項Launch是啟動node.js代碼除錯,除錯JS代碼,需要先將Debugger面板切換到Launch,配置中的第二項是Attach C/C++ Addon,把Debug面板的Debugger切換到Attach C/C++ Addon,接著再啟動即可,這里的request: "attach", 是讓lldb鏈接到nodejs行程中去Debug,下面的pid欄位就是啟動后,會彈出下拉框,然后選擇要鏈接的行程,一旦鏈接成功,就可以對 C/C++ 代碼斷點了,
遇到的問題:
centos7下直接啟動code,UI界面一片白,選單和視窗都無法渲染
解決方法:code --disable-gpu
默認情況下code以啟動gpu的方式去渲染,虛擬機下作業不正常,disable后正常作業,
安裝lldb插件,不能以安裝數排名安裝Native Debug,直接安裝CodeLLDB即可,
使用cppdb attach作業不正常,而且需要processId和program,修改成lldb和pid的方式后作業正常,
安裝lldb插件后報錯:
解決方法:
更新glib后依然遇到如下問題:
解決方法:sudo yum install python3
文章就分享到這里啦!歡迎大家拍磚留言,分享你感興趣的話題!
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!
C語言C++編程學習交流圈子,QQ群1095293493【點擊進入】微信公眾號:C語言編程學習基地
分享(原始碼、專案實戰視頻、專案筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習軟體分享:

編程學習視頻分享:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/169221.html
標籤:C++
上一篇:OpenCV:讀取與寫入圖片
