[英]How do you debug a Node.js server running with Chrome/WebKit as the remote debugger?
如果您的節點正在運行
node --debug server.js
這給了我一個端口號xxxx,我應該在啟動Chrome時使用這個端口號嗎?
你是否從Google\\ Chrome --remote-debugging-port=xxxx
遠程調試它Google\\ Chrome --remote-debugging-port=xxxx
?
或者9222是一個神奇的端口,因為它已被提及。
我是否在正確的軌道上,嘗試使用--remote-debugger
啟動Chrome到Node.js server.js
現在,節點檢查器/ --debug已由檢查器替換。請參閱下面的更新
#now deprecated / see below for update
#install node-inspector
npm install -g node-inspector
#start node-inspector, listen on port 8080 (default)
node-inspector --web-port=8080
#in another terminal session/window:
#while node-inspector is running, start your project in debug mode
node --debug myproject.js
現在,您可以瀏覽http:// your_server:8080以獲取myproject.js的完整調試會話
如果由於防火牆或其他原因無法在遠程端口上訪問遠程服務器,則可以從本地計算機上的端口8080到遠程服務器上的“localhost:8080”創建一個ssh-tunnel:
ssh -L 8080:localhost:8080 username@remoteserver -N
並在本地計算機上使用http:// localhost:8080時保持此運行以調試遠程nodejs會話
2017年8月更新
在檢查模式下啟動節點:
node --inspect=0.0.0.0:9229 myproject.js
或者如果您希望調試器在myproject.js的第一行中斷:
node --inspect-brk=0.0.0.0:9229 myproject.js
然后在Chrome瀏覽器中打開以下網址:
chrome://inspect
單擊“配置...”按鈕並添加以下目標:
ip-or-name-of-server-running-node:9229
單擊“完成”按鈕后,您應該在遠程目標下看到myproject.js。 單擊inspect鏈接開始調試。 不幸的是,檢查鏈接在適用於Ubuntu的Chrome 58上不起作用。 它適用於Chrome 60 for Windows。
使用node-inspector
從您使用--debug
選項啟動的Chrome遠程調試節點應用程序,如您所示。
最新版本的Node(> v6.3.0)和Chrome現在允許您使用Chrome開發者工具調試Node.JS流程,而無需安裝任何其他內容。 只需傳遞--inspect
到node
:
$ node --inspect script.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://SOME-URL-HERE
只需在Chrome中打開該網址,就可以了。
如果您需要在Node啟動后立即暫停腳本,您也可以在同一命令中傳遞--debug-brk
。
使用$ vagrant ssh - -L 5858:127.0.0.1:5858
to ssh connect to VM. also this comment would start a proxy server on port 5858;
您可以使用telnet 127.0.0.1 5858進行測試,以查看本地代理服務器是否已啟動。
在VM中,您可以使用命令啟動節點
$ node --debug-brk app.js
PS:沒有必要觸摸流浪文件。 參考: 將WebStorm連接到遠程node.js調試會話 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.