2014-06-11 48 views
10

在使用node.js的調試器時,我一直在使用node --debug-brk XXXX.js運行節點進程進行調試。令人討厭的是,如果我意外斷開連接,我必須重新開始整個過程​​。有沒有辦法重新連接到調試器?當我嘗試(通過intelliJ)時,它根本不會重新連接。如何重新連接到node.js的遠程調試器

+0

當你重新連接,你設置斷點它停止呢? '--debug-brk'在程序開始時停止,並且由於您試圖避免重新啓動它,您必須在某處設置斷點。 – loganfsmyth

+0

是,已經設置了斷點(因爲我已經調試之前意外關閉調試器連接) –

+0

調試也是一種過程,開始 - 調試標誌,並啓動,暫停,繼續在斷點,但如果你說你已經停止過程,它如何保存會話?我不認爲有這樣的做法(否則現在根據我的知識是不可用的)。 – Sathish

回答

1

嘗試使用節點檢查器,當它在瀏覽器中打開時,它將重新連接到節點服務器,但調試將從啓動開始。

+0

你是什麼意思「從頭開始」? –

+0

@BT從啓動開始意味着程序的執行將從第一行開始 – KlwntSingh

+1

這沒有任何意義,如果我的服務器仍在運行,爲什麼我的調試器將從「第一行」開始? –

1

您也可以使用nodewebkit,它可以很容易地調試代碼。

1

作爲Google Chrome Developer Tools的一部分發布的V8調試器可用於調試Node.js腳本。有關如何工作的詳細說明可在Node.js GitHub wiki中找到。

替代將是

的Node.js版本0.3.4+內置了調試支持。

node debug script.js 

手冊:http://nodejs.org/api/debugger.html

繪製與Profiler

注意:分析器模塊已被棄用,並不得與節點的0.12版本中運行

  1. 安裝全球npm install -g profiler

  2. node --prof這個啓動過程將通過運行~/.nvm/v0.8.22/lib/node_modules/profiler/tools/build-nprof

  3. 運行~/.nvm/v0.8.22/lib/node_modules/profiler/nprof這將讀取v8.log輪廓,給你不錯的輸出創建v8.log文件

  4. 構建nprof。

CPU和內存性能分析與NodeTime

  1. 安裝到你的應用程序,npm install nodetime

  2. 包括在你的應用程序,require('nodetime').profile()

  3. 按照它將輸出指令到控制檯

或者,您可能希望使用look,它基於nodetime,但不會將數據發送到nodetime.com。

開發工具調試與Node Inspector

  1. 全球安裝:npm install -g node-inspector

  2. 在調試模式下運行應用程序:node-debug your/node/program.js(或附加到正在運行的進程:kill -s USR1 <your node process id>)

  3. 在另一個終端窗口中運行node-inspector:node-inspector

  4. 打開http://127.0.0.1:8080/debug?port=5858(或通過將127.0.0.1替換爲主機進行遠程調試;確保端口8080打開)。

Webkit開發工具與Node Webkit Agent

  1. 剖析安裝到你的應用程序,npm install webkit-devtools-agent

  2. 包括在你的應用程序,agent = require('webkit-devtools-agent')

  3. 激活劑:kill -SIGUSR2 <your node process id>

  4. 訪問代理通過appropriate link

+1

所以你談論的大部分內容都是剖析,這與我的問題無關。你是否認爲chrome的開發人員工具可以在斷開連接後重新連接到node.js腳本? –

+0

您是否在項目中使用socket.io? – CloudFreezer

+0

我不是,我正在使用websockets tho –

相關問題