Nodejs提供了壹個內置的調試器來幫助開發者調試應用程序。要啟動調試器,我們需要在代碼中添加壹個調試器標記。Nodejs執行到調試器標簽時,會自動暫停(調試器標簽相當於在代碼中打開壹個斷點)。代碼如下:
var path = url.parse(req.url)。路徑名;
調試器;
res.writeHead(200,{ ' Content-Type ':' text/plain ' });
執行命令:node debug example.js可以進入調試模式。
在調試模式下,您可以使用內置命令(如repl)來計算變量和表達式的值(如圖2所示)。我們還可以通過help命令獲得調試命令的完整列表。
命令:run (r),cont (c),next (n),step (s),out (o),backtrace (bt),setBreakpoint (sb),clearBreakpoint (cb),
觀察、取消觀察、觀察器、復制、重啟、終止、列表、腳本、斷點、版本
2.基於V8插件的調試器
Nodejs構建在google V8的引擎上,google為Eclipse提供了相應的調試插件。如何在Eclipse中安裝調試Nodejs程序不再贅述。唯壹需要註意的是,默認情況下,V8引擎支持的調試模式是本地模式。如果要啟動遠程調試,需要修改Nodejs:/DEPS/V8/src/platform-POSIX . cc中的V8源文件
addr.sin _ family = AF _ INET
addr . sin _ addr . s _ addr = htonl(in addr _ LOOPBACK);-& gt;INADDR_ANY
addr . sin _ port = htons(port);
然後重新編譯Nodejs。
提示:
用插件調試nodejs程序時,有時會遇到壹些連接拒絕、獲取版本失敗等錯誤。那麽請註意妳使用的ip地址。壹般127.0.0.1的環回地址都是工作的。如果您使用真實的ip地址,請檢查防火墻設置。
3.基於Chrome瀏覽器的調試器
既然可以通過V8調試插件進行調試,那麽是否也可以使用Chrome瀏覽器的JavaScript調試器進行調試呢?節點檢查器模塊提供了這樣壹種可能性。我們需要首先通過npm安裝node-inspector。
Npm install -g node-inspector // -g將安裝路徑導入環境變量。
Node-inspector通過websocket調試輸入和輸出。因此,在調試之前,我們應該啟動node-inspector來監聽Nodejs的調試端口。
默認情況下,node-inspector的端口是8080,可以通過參數-web-port = [port]進行設置。啟動node-in spector後,我們可以通過-debug或- debug-brk啟動nodejs程序。通過在瀏覽器中輸入http://[ip地址]:8080/debug?Port=5858,我們將得到下面的調試窗口:
這三種方式各有利弊,我個人比較欣賞node-inspector的方式。