您好,登錄后才能下訂單哦!
這篇文章主要介紹node.js中如何進行調試,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
用了幾天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 | 單步執行并進入函數 |
out, o | 從函數中步出 |
setBreakpoint(), sb() | 當前行設置斷點 |
setBreakpoint(‘f()’), sb(...) | 在函數f的第一行設置斷點 |
setBreakpoint(‘script.js’, 20), sb(...) | 在 script.js 的第20行設置斷點 |
clearBreakpoint, cb(...) | 清除所有斷點 |
backtrace, bt | 顯示當前的調用棧 |
list(5) | 顯示當前執行到的前后5行代碼 |
watch(expr) | 把表達式 expr 加入監視列表 |
unwatch(expr) | 把表達式 expr 從監視列表移除 |
watchers | 顯示監視列表中所有的表達式和值 |
repl | 在當前上下文打開即時求值環境 |
kill | 終止當前執行的腳本 |
scripts | 顯示當前已加載的所有腳本 |
version | 顯示v8版本 |
詳細使用有興趣同學可以自己摸索,我是沒興趣。。。太復雜了,看幾個貼心的
是的,Eclipse又威武了,連node.js也能調試,在Eclipe官網上下載eclipse,然后 Help->Install New Software->Add
在彈出的窗口添加一個源,名字好記就行,地址是http://chromedevtools.googlecode.com/svn/update/dev/
等一會兒后彈出選擇界面,選中第一個
一路next到最后finish,下載完成后會提醒重啟Eclipse,完成之后就可以調試node.js了,打開想調試的文件,切換Eclipse到調試視圖,點擊工具欄右邊的小三角,選擇Debug Configuration
雙擊 Standard V8 VM 選項創建一個新的配置,填好相應參數
通過 --debug-brk選項在控制臺啟動node服務器
node --debug-brk=5858 test.js
點擊Eclipse剛才界面的debug按鈕,就可以像調試Java一樣調試node.js了
大部分node.js應用都是web應用,所以一些基于Chrome的在線調試工具應運而生,最出名的應該就是node-inspector了,這是一個node.js的模塊,安裝、使用相當的方便,首先使用npm把其安裝在全局環境中
npm install -g node-inspector
node-inspector是通過websocket方式來轉向debug輸入輸出的。因此,我們在調試前要先啟動node-inspector來監聽node.js的debug調試端口。默認情況下node-inspector的端口是8080,可以通過參數--web-port=[port]來設置端口。
在啟動node-inpspector之后,我們可以通過--debug或--debug-brk來啟動node.js程序。
這時候就可以訪問http://127.0.0.1:8888/debug?port=5858 使用瀏覽器調試了,看看界面,不用多說什么了吧
以上是node.js中如何進行調試的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。