nodejs調(diào)試

1、代碼

>mkdir test & cd test

>npm init -y

>npm i koa koa-route --save

>touch app.js

app.js:

const Koa = require('koa');

const router = require('koa-route');

const app = new Koa();

const main = ctx => {

? ctx.response.body = 'Hello World';

};

const welcome = (ctx, name) => {

? ctx.response.body = 'Hello ' + name;

};

app.use(router.get('/', main));

app.use(router.get('/:name', welcome));

app.listen(3000);

console.log('listening on port 3000');

2、啟動

>node --inspect app.js

或者

>node --inspect-brk=9239 app.js? ? ?//默認(rèn)端口9229,可指定端口啟動多個

3、Chrome啟動

1)

在Chrome瀏覽器里輸入http://localhost://3000,打開Chrome開發(fā)者工具,點擊綠色按鈕。

Chrome調(diào)試界面

2)

在瀏覽器中輸入 chrome://inspect/


Chrome調(diào)試界面

點擊inspect按鈕進(jìn)入調(diào)試界面,點擊source進(jìn)界面,點擊11邊框,在對應(yīng)的行打下斷點。

調(diào)試界面

在瀏覽器輸入http://localhost:3000/account

調(diào)試過程

左邊的調(diào)試工具,執(zhí)行跳出函數(shù),在console窗口打印變量值Hello account。

4、忘記加參數(shù)--inspect

如果啟動服務(wù)忘記加參數(shù)--inspect,可以通過以下方式啟動

>node app.js

>ps aux |grep app.js

查看進(jìn)程

執(zhí)行命令

>node -e 'process._debugProcess(935)' //其中935為進(jìn)程號。

或者

>kill -SIGUSR1 935? ?//nodejs定義SIGUSR1信號陷入debug模式。常見信號

注意:通過pm2方式啟動服務(wù)沒有帶--inspect也可以通過這種方式將服務(wù)陷入debug模式。

5、vscode調(diào)試

打開app.js文件,點擊調(diào)試-->啟動調(diào)試。服務(wù)會陷入debug模式,打斷點,通過瀏覽器輸入http://localhost:3000,程序在斷點停止,然后通過調(diào)試工具調(diào)試即可。

vscode調(diào)試
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容