相關推薦:《nodejs 教學》
#用了幾天node.js感覺很新奇,但除錯問題實在是愁煞人,一開始的時候懶的學習調試方法,看看異常內容就可以了,但隨著程式碼複雜程度的上升,並不是所有錯誤都是語法錯誤了,不調試搞不定了,只好搜搜資料,學習了一下怎麼調試。
使用過PHP的同學肯定都清楚,修改了某個腳本檔案後,只要刷新頁面伺服器就會載入新的內容,但是node .js在第一次引用到某個文件解析後會將其放入內存,下次訪問的時候直接在內存中獲取,以提高效率,但是這對我們開發造成一定困擾,修改了某個module後只能重啟伺服器後才能生效,調試起來效率還是很低的。
於是乎node.js中有了supervisor插件幫我們堅實檔案改動,自動重啟伺服器,supervisor是node.js的一個包,安裝起來很簡單,使用npm的安裝指令就可以,因為我們需要在控制台運行,所以需要安裝在全域環境中
npm install -g supervisor
這樣我們就可以使用supervisor啟動腳本了
supervisor index
當我們對檔案做改變了的時候,可以看到控制台多了三行,伺服器已經重啟了
node.js本身支援調試,在語句前面加上debugger指令就可以加入一個斷點
var server=require('./server'), router=require('./router'), requestHandlers=require('./requestHandlers');debugger;var handle={};debugger; handle['/']=handle['/start']=requestHandlers.start;debugger; handle['/upload']=requestHandlers.upload; handle['/show']=requestHandlers.show;debugger; server.start(8080,router.route,handle);
在啟動服務的時候加入debug 選項
node debug index.js
這時候輸入一些指令就可以單步調試、到斷點監視局部變數等,看個指令圖,很多指令都有其縮寫形式
指令 | 功能 |
run | 執行腳本,在第一行暫停 |
restart | 重新執行腳本 |
#cont, c | 繼續執行,直到遇到下一個斷點 |
next, n | 單步執行 |
#step, s | 單步驟執行並進入函數 |
從函數中步出 | |
目前行設定斷點 | |
setBreakpoint('f()'), sb(...) | 在函數f的第一行設定斷點|
setBreakpoint('script.js', 20), sb(...) | 在 script.js 的第20行設定斷點|
clearBreakpoint, cb(...) | 清除所有斷點|
backtrace, bt | 顯示目前的呼叫堆疊|
list(5) | 顯示目前執行到的前後5行程式碼|
#watch(expr) | 把表達式 expr 加入監視清單|
|
|
|
|
|
|
|
|
|
|
|
# |
以上是node.js中怎麼進行除錯?的詳細內容。更多資訊請關注PHP中文網其他相關文章!