登錄      注冊
 找回密碼

QQ登錄

只需一步,快速開始

查看: 240894|回復: 0
打印 上一主題 下一主題

如何調試Node業務代碼及其源碼?這些方式你都知道嗎?

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2019-12-3 09:40:23 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

目前,Node在前端的開發中已經運用的十分廣泛了,它主要用于開發Node服務和Node工具,無論哪一種在開發的時候都離不開調試!最原始的調試辦法是加console.log,然后在控制臺查看打印的信息,這種方式調試很慢而且很難兼顧上下文,所以我們能不能像調試頁面一樣在瀏覽器中調試Node業務代碼甚至Node源碼呢?下面我分享幾個常用的便捷方法。

第一種方式

建一個業務代碼文件demo.js,運行以下命令:

//9229是調試端口

node --inspect-brk=9229 demo.js

現在我們用chrome打開chrome://inspect這個地址


在圖1紅色區域中點擊inspect,就會彈出一個debug工具,

這個界面和平時我們調試web的devtools幾乎一毛一樣,現在我們就能按照平時調試web的習慣去調試Node了。

第二種方式

全局安裝一個npm模塊ndb

npm install ndb -g

然后用ndb命令去運行業務代碼文件

ndb demo.js

//或者

ndb node demo.js

之后會彈出一個界面

|

和第一種方式一樣,直接就可以在這個界面debug。

第三種方式

利用vscode調試node代碼

如果你沒有在用vscode,那就安裝一個吧,畢竟是當下最流行的開發工具。

裝完之后,加入你的工程代碼



首先點擊圖4中的1號圖案(像個烏龜),再點擊圖2設置按鈕,會彈出一個配置文件,如下:


調試Node中js源碼部分

Node主要是用js和c++開發的,底層是c++,開發了一些能力,上面的js是調用這些能力封裝了一些邏輯,我更關注js部分的邏輯,那如何debug Node的源碼呢?

首先從github上下載node源碼,下載完成后,進入node源碼的工程下,創建一個文件build.sh,加入下面的內容:

#!/bin/bash

./configure --debug

make -C out BUILDTYPE=Debug -j 4

以上完成過后,運行一下這個腳本

sh build.sh

第一次運行時間比較長,大家可以出去逛個超市跑個步什么的!

運行完成后,會生成一個out目錄,在out/Debug/下會生成一個debug版本的node可執行程序,用此node代替全局命令里面的node,并采用以上三種方式就可以debug進node源碼中了!


運行圖9中的命令,在業務代碼中就可以debug進node源碼中,如圖10(stream模塊源碼)。

總結

這篇文章介紹了三種調試方式,其實還有一些其他的方式沒說,不過已經夠用了!第一種方式最常見,但是我比較喜歡第二種方式,它會自動打開debug工具,非常方便,不過非常占電腦內存!大家有什么更好的調試方法可以在評論區發表建議!












上一篇:賣這種虛擬產品賺錢的項目,新手小白也能玩得轉!
下一篇:淘寶天貓視頻批量下載源碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 支持支持 反對反對

QQ|網站地圖|Archiver|手機版|巨力網賺論壇 ( 京ICP備05085363號-1

GMT+8, 2020-1-15 07:11

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
三肖中特期期准白小姐