咱們在接觸客戶端javascript的時候,調試利器就是firebug ,也是當年爲什麼喜歡用上firefox 瀏覽器的主要動力,固然,後來 chrome 插件裏也出現了firebug的身影.....javascript
可是服務器端開發語言node.js 一直以來調試不是特別方便,多是以前被 virtual studio慣壞了,這種用 console.log() 去打印變量甚至回調數據實在是太蹩腳.html
固然,有一款很強大的IDE ,webstrom對node.js提供了最全面的支持,也能夠輕鬆配置來實現調試,下回有必要和你們分享一次.java
今天要分享的是關於 node-inspector 下調試node.js程序.node
第一步:git
npm install -g node-inspector
全局安裝 node-inspector github
node-inspector@0.9.2 /usr/local/lib/node_modules/node-inspector ├── which@1.0.9 ├── async@0.9.0 ├── semver@3.0.1 ├── yargs@1.3.3 ├── debug@1.0.4 (ms@0.6.2) ├── strong-data-uri@0.1.1 (truncate@1.0.4) ├── rc@0.5.5 (strip-json-comments@0.1.3, deep-extend@0.2.11, ini@1.3.3, minimist@0.0.10) ├── serve-favicon@2.2.0 (ms@0.7.0, fresh@0.2.4, parseurl@1.3.0, etag@1.5.1) ├── glob@4.5.3 (inherits@2.0.1, once@1.3.1, inflight@1.0.4, minimatch@2.0.4) ├── express@4.12.3 (merge-descriptors@1.0.0, utils-merge@1.0.0, cookie-signature@1.0.6, methods@1.1.1, fresh@0.2.4, cookie@0.1.2, escape-html@1.0.1, range-parser@1.0.2, content-type@1.0.1, finalhandler@0.3.4, vary@1.0.0, parseurl@1.3.0, serve-static@1.9.2, content-disposition@0.5.0, path-to-regexp@0.1.3, depd@1.0.0, qs@2.4.1, debug@2.1.3, etag@1.5.1, on-finished@2.2.0, send@0.12.2, accepts@1.2.5, type-is@1.6.1, proxy-addr@1.0.7) ├── biased-opener@0.2.3 (opener@1.4.0, minimist@1.1.0, x-default-browser@0.3.0, browser-launcher2@0.4.4) ├── ws@0.4.32 (tinycolor@0.0.1, options@0.0.6, commander@2.1.0, nan@1.0.0) ├── v8-debug@0.4.2 (nan@1.7.0) └── v8-profiler@5.2.4 (nan@1.5.3)
顯示如上代碼說明安裝成功.web
第二步:chrome
終端定位到你要調試的項目根目錄下express
localhost:nodeREST hywanliyuan$
輸入以下指令啓動項目npm
localhost:nodeREST hywanliyuan$ node --debug server.js Debugger listening on port 5858 listen 8000
上面的 server.js 是我項目的啓動文件,
下面接着輸出在端口 5858 下監視調試器.
最下面是是程序啓動文件 app.js 輸出內容, listen 8000
第三步:
打開另一個終端,定位到要調試項目的根目錄,而後輸入
node-inspector
運行獲得以下結果
localhost:nodeREST hywanliyuan$ node-inspector Node Inspector v0.12.8 Visit http://127.0.0.1:8080/?port=5858 to start debugging.
告訴咱們調試器運行在 本地 127.0.0.1:8080 下.咱們複製上面的調試地址.
第四步:
選擇一款支持 node-inspector 的瀏覽器,你能夠選擇 chrome 或者 firefox
我用的是 chrom 打開:
你能夠在瀏覽器看到啓動頁的全部代碼都被讀取出來,左側單擊鼠標便可建立一個端點,如上圖 console.log 前我點了一個斷點.
右側操做界面能夠選擇繼續運行,或者單步運行(快捷鍵F10)
下方的界面顯示變量值和輸出.用起來仍是至關不錯的,若是在單步模式下調試,會一層一層深刻的核心模塊中的代碼. 源代碼地址