2013-12-10 61 views
1

如果你運行node你進入交互模式,你可以檢查,執行函數等。但是一旦你從交互模式或者從OS shell運行一個函數,你能暫停執行並故意進入交互模式嗎?是否有可能在Node.js中進入交互模式?

在瀏覽器中,您可以使用debugger關鍵字,但在Node.js中debugger對我無能爲力。

+0

Node.js有一個內置的調試器。儘管使用WebStorm作爲它與Node.js的調試端口的集成,但我的運氣更好。 – Brad

回答

2

當我的軟件失敗,我要趕緊弄清楚,我添加了一個debugger指令,我想調試器打破,做:

node debug [script I want to debug] 

請注意,這是node debug,而不是node --debug。後者也啓動一個調試器,但它是一個等待某個UI連接的端口。

執行上述操作會導致調試器在執行軟件之前停止。輸入c讓它繼續。它會在下一步停止你放置debugger聲明的地方。如果您想動態評估,可以使用repl命令。

如果你這樣做,你不需要任何額外的工具。該文檔是here

+0

是的!這就是我想要的,但現在我看不到局部變量,任何想法?只有全局變量從gdb-style控制檯可見 – exebook

+0

我通常沒有問題。但是,有些東西可能有點混亂。假設您有變量''x'',而''x'的值是''undefined''。所以在調試器中輸入''repl''就可以進入repl-mode。然後你輸入''x''來評估''x''。你不會從調試器得到任何「x」值爲「undefined」的反饋。當我懷疑是這種情況時,我會使用'console.log(x)''。調試器肯定是粗糙的,但不需要任何其他工具是我書中的一個勝利。 – Louis

2

嘗試node-inspector,你可以調試你的應用程序與Chrome開發者工具

1.安裝並啓動節點檢查

npm install -g node-inspector 
node-inspector & 

2.啓動與調試參數,您的應用程序(如果你想打破在第一行中,更換參數--debug-BRK

node --debug server.js 

3.open調試鏈接在Chrome

open http://127.0.0.1:8080/debug?port=5858 

enter image description here

相關問題