摘要:調(diào)試方法提供了一個內(nèi)建調(diào)試器來幫助開發(fā)者調(diào)試應(yīng)用程序。這兩個參數(shù)只會啟動監(jiān)聽模式,不會進入命令行調(diào)試模式,而且前者會運行完所有代碼,通??捎糜谑录{(diào)試,后者會在進入時中斷,方便從頭開始調(diào)試。安裝編輯器使用配置調(diào)試的配置信息如下圖。
Nodejs調(diào)試方法 1. Node debug
Nodejs提供了一個內(nèi)建調(diào)試器來幫助開發(fā)者調(diào)試應(yīng)用程序。使用debug模式時,Node.js 會啟動Debugger模塊,然后通過監(jiān)聽默認 5858 端口將命令行的輸入傳送到內(nèi)建調(diào)試模塊以達到調(diào)試的目的。
同時支持--debug 和 --debug-brk參數(shù)。這兩個參數(shù)只會啟動Debugger監(jiān)聽模式,不會進入命令行調(diào)試模式,而且前者會運行完所有代碼,通常可用于事件調(diào)試,后者會在進入時中斷,方便從頭開始調(diào)試。
運行:node debug [需要調(diào)試的js]
調(diào)試命令說明:
repl 打開js上下文即時求值環(huán)境,可查看變量 run 執(zhí)行腳本,在第一行暫停 restart 重新執(zhí)行腳本 cont, c 繼續(xù)執(zhí)行,直到遇到下一個斷點 next, n 單步執(zhí)行 step, s 單步執(zhí)行并進入函數(shù) out, o 從函數(shù)中步出 setBreakpoint(), sb() 當(dāng)前行設(shè)置斷點 setBreakpoint(‘f()’), sb(...) 在函數(shù)f的第一行設(shè)置斷點 setBreakpoint(‘script.js’, 20), sb(...) 在 script.js 的第20行設(shè)置斷點 clearBreakpoint, cb(...) 清除所有斷點 backtrace, bt 顯示當(dāng)前的調(diào)用棧 list(5) 顯示當(dāng)前執(zhí)行到的前后5行代碼 watch(expr) 把表達式 expr 加入監(jiān)視列表 unwatch(expr) 把表達式 expr 從監(jiān)視列表移除 watchers 顯示監(jiān)視列表中所有的表達式和值 kill 終止當(dāng)前執(zhí)行的腳本 scripts 顯示當(dāng)前已加載的所有腳本 version 顯示v8版本2. Node inspector
node-inspector是基于Node.js的Debugger模塊進行調(diào)試的,是通過websocket方式來轉(zhuǎn)向debug輸入輸出的。因此,我們在調(diào)試前要先啟動node-inspector來監(jiān)聽Nodejs的debug調(diào)試端口。
安裝: npm install –g node-inspector
運行:node-inspector & 或 node-inspector --web-port=5100 //啟動調(diào)試,默認8080端口或者指定端口
node --debug-brk [需要調(diào)試的js] 或 node-debug [需要調(diào)試的js]
控制臺會返回debugger listening on port 5858, 現(xiàn)在打開瀏覽囂,訪問 http://localhost:8080/debug?p... ,這時候就會打開一個很像Chrome內(nèi)置調(diào)試工具的界面,并且代碼斷點在第一行,下面就可以使用這個來調(diào)試了。
缺點:頁面不能刷新,每次調(diào)試需要重新運行 “node-debug [需要調(diào)試的js]"
3. V8_inspector現(xiàn)如今,新版本的Chrome瀏覽器和新版本的Node.js支持通過一個新的調(diào)試協(xié)議能互相直接通訊了,就不再需要node-inspector了。
環(huán)境:
Node.js 6.3+
chrome 55+
需下載 Chrome 瀏覽器 Canary 版 (Canary 版是專為開發(fā)者和早期用戶設(shè)計的版本,可能會造成瀏覽器當(dāng)機)
步驟:
下載Chrome瀏覽器Canary版,打開 chrome://flags/#enable-devtools-experiments (啟用開發(fā)者工具實驗性功能)
重啟Chrome。打開開發(fā)者工具 -> 設(shè)置 -> Experiments,按SHIFT鍵6次,顯示隱藏選項后勾選Node debugging
在終端輸入指令: node –-inspect [需要調(diào)試的js]。用Canary版瀏覽器打開終端輸出的鏈接。
4. webstorm安裝webstorm,webstorm也是一個好軟件,支持多平臺。特別提醒ws是是一個商業(yè)收費軟件,可以試用30天。
安裝: webstorm編輯器
使用: 配置debug調(diào)試的配置信息(如下圖)。再點擊debug
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/91844.html
摘要:第三步在打開在地址欄輸入并回車后就會看到以下頁面了點擊上面的鏈接跳轉(zhuǎn)到調(diào)試頁面你會看到一個調(diào)試當(dāng)前代碼的彈窗。更好的體驗是,當(dāng)你的重啟后,這個調(diào)試窗口會重新連接。從上圖,你會看到一堆經(jīng)常用到的調(diào)試工具。 事實上chrome devtools在2016年5月就已經(jīng)支持Nodejs的調(diào)試了,具體可以觀看英文原版Google I/O上的視頻 第一步:下載和安裝最新版本的Nodejs(要求6....
前言 我總是調(diào)侃好多 nodejs 開發(fā)都不會多進程調(diào)試,這其中就包括了我。直到有一天,我不得不使用它來解決一些問題,作為一個懶人,我喜歡用簡單的辦法,所以這可能是最簡單的 Nodejs 調(diào)試方法,話不多說進入正題 單進程調(diào)試 console.log() 單進程的調(diào)試,如果場景不復(fù)雜、比較好預(yù)判,可以直接打印到控制臺 // 添加參數(shù) --debug-brk 可以在第一行斷點 // node --i...
摘要:原文地址這兩天在看也在入門中網(wǎng)上大部分教程都是前端配置開發(fā)調(diào)試這個也有很多相當(dāng)成熟的實踐教程這篇文章主要是的配置說起來也是相當(dāng)簡單的不涉及任何的語法與概念同時也可以根據(jù)本文配置的開發(fā)環(huán)境主要是模塊部分的使用說起大家應(yīng)該都挺熟悉了是一個 原文地址 https://github.com/xiadd/blog/issues/8 這兩天在看ts,也在入門中, 網(wǎng)上大部分教程都是前端配置ts開發(fā)...
摘要:支持,和三種環(huán)境,并且可以安裝擴展插件,因而可以滿足絕大多數(shù)人的要求,安裝配置非本文所要講述的內(nèi)容,請自行查找,本文著重討論如何用更好的調(diào)試代碼,希望能對大家有所幫助。 2018.5.12更新 最近在用vscode 1.23版本的時候發(fā)現(xiàn)outDir不可以使用了,建議這么改吧,直接program采用編譯后的文件,然后打開sourceMaps,同時在babel編譯的時候自己搞--watc...
摘要:示例代碼插入斷點方法在需要設(shè)置斷點的地方插入關(guān)鍵字,程序會在這里暫停運行。只需要在命令模式輸入,按回車便可以進入環(huán)境。 1 示例代碼 app.js var express = require(express); var app = express(); var req_times = 0; app.all(/*, function(req, res){ req_times...
閱讀 2588·2021-11-25 09:43
閱讀 1988·2019-08-30 13:56
閱讀 1254·2019-08-30 12:58
閱讀 3453·2019-08-29 13:52
閱讀 785·2019-08-26 12:17
閱讀 1490·2019-08-26 11:32
閱讀 963·2019-08-23 13:50
閱讀 1327·2019-08-23 11:53