用Eclipse調試Node.js代碼

來源:互聯網
上載者:User

node.js是基於Google V8的,而Google V8有一個Eclipse的調試外掛程式,這個外掛程式同樣也支援node.js。

1、安裝Eclipse debugger for V8

這個,用過Eclipse的應該都知道,不過還是簡單說下吧:

選擇“Install New Software”

點“Add”

Location為: http://chromedevtools.googlecode.com/svn/update/dev/

Name你喜歡,整一個方便你記憶的就好。

點擊確定後,在“Work with“選擇你剛才添加的網站:

然後選擇“Chromium JavaScript Remote Debugger”,然後一直下一步,安裝完後會提示重啟Eclipse,重啟Eclipse後就可以開始調試了。

2、怎樣調試Nodejs?

從外掛程式名稱中的“Remote”可以預想到這是一個遠端偵錯的工具,大概的流程就是node開一個tcp的調試連接埠,然後這個調試工具通過這個tcp連接埠來和node通訊實現調試。

要啟用node的調試連接埠,在執行node指令碼的時候需要添加 –-debug 參數:

 
  1. node --debug[=port] NodeApp.js  
  2.  
  3.  
  4. or  
  5.  
  6. node --debug-brk[=port] NodeApp.js 

其中port為開啟的調試連接埠,預設為5858.

--debug和--debug-brk的區別在於,--debug執行指令碼的時候會直接運行該指令碼,而--debug-brk執行指令碼的時候,並不會馬上執行,而是等待調試器的串連,然後按調試器的指令來執行。

我們寫個簡單的代碼來用於調試:

然後用 node –debug hello_world.js 來運行:

可以看到輸出一行:debugger listening on port 5858

5858為預設連接埠,你也可以用 --debug=5859 來指定不同的連接埠

好,現在node的偵錯模式已經運行起來了,我們去配置Eclipse來串連到node並進行調試。

首先我們要到debug config裡面去添加一個新的V8 VM的調試配置:

右鍵,選擇“new”來建立一個配置項:

因為我們剛才node起的調試連接埠為預設的5858,所以這裡我們的連接埠就是5858,名稱我們定為“Node-5858”。

然後點debug開始調試,或者你使用下面的方式開始調試:

偵錯模式大概會是這樣:

(註:這是調試視圖,點擊右上方的臭蟲按鈕。如果你的Eclipse上沒有這個按鈕,請點擊右上方臭蟲左邊的添加按鈕,找到debug然後添加就可以)

在偵錯模式串連成功後,你會在你的“Project Explorer”裡面看到多了一個“Node-5858”(剛才debug config裡面設定的名稱)的項目,裡面的檔案都是調試的檔案或者調試的檔案require進來的檔案。

開啟這些檔案,你就可以在裡面加斷點開始調試了。例如的第8行加了一個斷點,則每次在瀏覽器訪問的時候都會進入這個斷點。

其他的調試和你平時用Eclipse調試其他代碼是一樣的。

Eclipse的調試快速鍵是,F5單步進入,F6單步跳過。

最後說一下 --debug-brk 方式啟動的偵錯模式:

可以看到僅僅是輸出了一行“debugger listening on port 5858”而已,後面並沒有繼續輸出“Server running at …..”。

這是因為用 啟動的偵錯模式並不會馬上執行代碼,而是會等待調試器的串連(可以理解為在hello_world.js的第一行加了斷點),具體還是各位童鞋自己實踐吧。

參考: https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger

原文:http://club.cnodejs.org/topic/4f16442ccae1f4aa27001105

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.