C/C++編程筆記:VSCode混合調試 C/C++ 和 Node.js,方法指導

引言

慾善其事必先利其器也!node

目前常常使用的IDE工具備以下幾種:python

Visual studio,常常使用VS在Windows下面調試大型程序,對於一個含有不少工程的大型程序來講,VS毋庸置疑是最佳的開發和調試工具,對於C++的初學者和開發者來講都是很不錯的選擇。就像一個小夥伴曾經說過的那樣,使用VS追蹤死鎖問題都是很是方便的。對於打算開始入手學習WebRTC的童鞋仍是建議從Windows VS工程開始搞起。程序員

VSCode,各類平臺下的用戶體驗都是極好的,代碼主題和顯示效果都是最佳的,並且輕量級的,資源消耗少;另外支持多種語言的開發,只需安裝相應的插件,安裝、配置、學習的成本都是很低的。docker

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工程」json

本文以node.js開發Hello world addon爲例centos

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語言編程學習基地

分享(源碼、項目實戰視頻、項目筆記,基礎入門教程)

歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!

編程學習軟件分享:

編程學習視頻分享:

相關文章
相關標籤/搜索