成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇帶給你Vscode調(diào)試Node.js指南

開發(fā) 前端
調(diào)試代碼不管對(duì)于開發(fā)還是學(xué)習(xí)源碼都是非常重要的技能,本文簡(jiǎn)單介紹vscode調(diào)試Node.js相關(guān)代碼的調(diào)試技巧。

[[419271]]

前言:調(diào)試代碼不管對(duì)于開發(fā)還是學(xué)習(xí)源碼都是非常重要的技能,本文簡(jiǎn)單介紹vscode調(diào)試Node.js相關(guān)代碼的調(diào)試技巧。

一、調(diào)試業(yè)務(wù)JS

調(diào)試業(yè)務(wù)JS可能是普遍的場(chǎng)景,隨著Node.js和調(diào)試工具的成熟,調(diào)試也變得越來(lái)越簡(jiǎn)單。下面是vscode的lauch.json配置。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "type""node"
  5.             "request""attach"
  6.             "name""Attact Program"
  7.             "port": 9229 
  8.         } 
  9.     ] 
  10.  

1.在JS里設(shè)置斷點(diǎn),執(zhí)行node --inspect index.js 啟動(dòng)進(jìn)程,會(huì)輸出調(diào)試地址。

2.點(diǎn)擊蟲子,然后點(diǎn)擊綠色的三角形。

3.vscode會(huì)連接Node.js的WebSocket服務(wù)。

4.開始調(diào)試(或者使用Chrome Dev Tools調(diào)試)。

二 調(diào)試Addon的C++

寫Addon的場(chǎng)景可能不多,但是當(dāng)你需要的時(shí)候,你就會(huì)需要調(diào)試它。下面的配置只可以調(diào)試C++代碼。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""Debug node C++ addon"
  5.             "type""lldb"
  6.             "request""launch"
  7.             "program""node"
  8.             "args": ["${workspaceFolder}/node-addon-examples/1_hello_world/napi/hello.js"], 
  9.             "cwd""${workspaceFolder}/node-addon-examples/1_hello_world/napi" 
  10.         }, 
  11.     ] 
  12.  

1.在C++代碼設(shè)置斷點(diǎn)。

2.執(zhí)行node-gyp configure && node-gyp build --debug編譯debug版本的Addon。

3. JS里加載debug版本的Addon。

4.點(diǎn)擊小蟲子開始調(diào)試。

三、調(diào)試Addon的C++和JS

Addon通常需要通過JS暴露出來(lái)使用,如果我們需要調(diào)試C++和JS,那么就可以使用以下配置。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""Debug node C++ addon"
  5.             "type""node"
  6.             "request""launch"
  7.             "program""${workspaceFolder}/node-addon-examples/1_hello_world/napi/hello.js"
  8.             "cwd""${workspaceFolder}/node-addon-examples/1_hello_world/napi" 
  9.         }, 
  10.         { 
  11.             "name""Attach node C/C++ Addon"
  12.             "type""lldb"
  13.             "request""attach"
  14.             "pid""${command:pickMyProcess}"   
  15.         } 
  16.     ] 
  17.  

和2的過程類似,點(diǎn)三角形開始調(diào)試,再選擇Attach node C/C++ Addon,然后再次點(diǎn)擊三角形。

選擇attach到hello.js中。

開始調(diào)試。

四、調(diào)試Node.js源碼C++

我們不僅用Node.js,我們可能還會(huì)學(xué)習(xí)Node.js源碼,學(xué)習(xí)源碼的時(shí)候就少不了調(diào)試。可以通過下面的方式調(diào)試Node.js的C++源碼。

  1. ./configure --debug && make 

使用以下配置:

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""(lldb) 啟動(dòng)"
  5.             "type""cppdbg"
  6.             "request""launch"
  7.             "program""${workspaceFolder}/out/Debug/node"
  8.             "args": [], 
  9.             "stopAtEntry"false
  10.             "cwd""${fileDirname}"
  11.             "environment": [], 
  12.             "externalConsole"false
  13.             "MIMode""lldb" 
  14.         } 
  15.     ] 
  16.  

在node_main.cc的main函數(shù)或任何C++代碼里打斷點(diǎn),點(diǎn)擊小蟲子開始調(diào)試。

五、調(diào)試Node.js源碼C++和JS代碼

Node.js的源碼不僅僅有C++,還有JS,如果我們想同時(shí)調(diào)試,那么就使用以下配置。

  1.     "version""0.2.0"
  2.     "configurations": [ 
  3.         { 
  4.             "name""(lldb) 啟動(dòng)"
  5.             "type""cppdbg"
  6.             "request""launch"
  7.             "program""${workspaceFolder}/out/Debug/node"
  8.             "args": ["--inspect-brk""${workspaceFolder}/out/Debug/index.js"], 
  9.             "stopAtEntry"false
  10.             "cwd""${fileDirname}"
  11.             "environment": [], 
  12.             "externalConsole"false
  13.             "MIMode""lldb" 
  14.         } 
  15.     ] 
  16.  

1.點(diǎn)擊調(diào)試。

2.在vscode調(diào)試C++,執(zhí)行完Node.js啟動(dòng)的流程后會(huì)輸出調(diào)試JS的地址。

3.在瀏覽器連接WebSocket服務(wù)調(diào)試JS。

 

責(zé)任編輯:姜華 來(lái)源: 編程雜技
相關(guān)推薦

2022-03-20 06:40:31

Node.jsperf_hooks性能數(shù)據(jù)

2021-07-21 09:48:20

etcd-wal模塊解析數(shù)據(jù)庫(kù)

2022-03-24 12:28:03

React 17React 18React

2021-02-24 08:32:45

Web Compone前端Web 應(yīng)用

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2021-08-18 10:28:09

MySQL SQL 語(yǔ)句數(shù)據(jù)庫(kù)

2022-03-03 22:00:19

Hooks函數(shù)組件React

2021-11-24 08:51:32

Node.js監(jiān)聽函數(shù)

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙

2021-10-28 08:51:53

GPIO軟件框架 Linux

2023-03-13 09:31:04

2021-07-08 07:30:13

Webpack 前端Tree shakin

2021-05-08 08:36:40

ObjectString前端

2021-04-23 08:59:35

ClickHouse集群搭建數(shù)據(jù)庫(kù)

2021-04-14 07:55:45

Swift 協(xié)議Protocol

2021-06-21 14:36:46

Vite 前端工程化工具

2021-01-28 08:55:48

Elasticsear數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)

2023-03-29 07:45:58

VS編輯區(qū)編程工具

2021-04-14 14:16:58

HttpHttp協(xié)議網(wǎng)絡(luò)協(xié)議

2021-04-08 11:00:56

CountDownLaJava進(jìn)階開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 午夜电影一区二区 | 久久久91精品国产一区二区三区 | 国产第一页在线播放 | 黄色在线免费观看视频网站 | 国产黄色小视频 | 日韩精品在线视频 | 好好的日在线视频 | 欧美精品久久久 | 玖玖操 | 国产精品久久久亚洲 | 欧美一级欧美一级在线播放 | 久久久久久久久久久蜜桃 | 欧美在线看片 | 最新中文字幕第一页视频 | 亚洲3级| 欧美视频免费在线 | 精品无码三级在线观看视频 | 在线观看国产精品一区二区 | 久久久久久久久久久久久91 | 国产成人99久久亚洲综合精品 | 国产成人精品久久二区二区 | 日韩第一夜 | 国产精品视频999 | 成人免费大片黄在线播放 | 日韩欧美不卡 | 一二三在线视频 | 日韩欧美在线免费 | 国产精品视频一二三区 | 97精品国产手机 | 亚洲精品黄色 | 中文字幕高清在线 | 国产成人午夜精品影院游乐网 | 羞羞的视频免费在线观看 | 欧美不卡一区二区三区 | www.国产精 | 91在线看| 黄色a三级 | 青青操91| 99久久精品视频免费 | 91在线观看免费 | 久久久久亚洲视频 |