web-dev-qa-db-ja.com

Chrome / WebKitをリモートデバッガとして実行しているNode.jsサーバーをどのようにデバッグしますか?

Node running

node --debug server.js

これにより、ポート番号xxxxが得られます。Chromeの起動時にこのポート番号を使用する必要がありますか?

Google\ Chrome --remote-debugging-port=xxxxからリモートデバッグしますか?

または、それが至る所で言及されているように、9222は魔法の港です。

私は正しい軌道に乗っていますか?Chromeを--remote-debuggerでNode.jsに挿入しようとしていますserver.js

19
Chris G.

node-inspector/--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

これで、myproject.jsの完全なデバッグセッションのために http:// your_server:808 を参照できます。

ファイアウォールまたはその他の理由によりリモートサーバーがリモートポートでアクセスできない場合は、ローカルマシンのポート8080からリモートサーバーの「localhost:8080」へのリモートsshトンネルを作成できます。

ssh -L 8080:localhost:8080 username@remoteserver -N

ローカルマシンで http:// localhost:808 を使用してリモート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ブラウザで次のURLを開きます。

chrome://inspect

「構成...」ボタンをクリックして、次のターゲットを追加します。

ip-or-name-of-server-running-node:9229

[完了]ボタンをクリックすると、リモートターゲットの下にmyproject.jsが表示されます。検査リンクをクリックしてデバッグを開始します。残念ながら、inspectリンクはChrome 58で機能しません。WindowsではChrome 60で正常に機能します。

17
anneb

使用する - node-inspector Chromeからノードアプリケーションをリモートでデバッグするには、--debugオプションをご覧ください。

9
JohnnyHK

Node(> v6.3.0)およびChromeの最近のバージョンでは、Chrome Developer Tools to- Node.JSプロセスのデバッグ 他に何もインストールする必要はありません。単に--inspectnode

$ 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

そのURLをChromeで開くだけで、問題ありません。

Nodeの開始直後にスクリプトを一時停止する必要がある場合は、--debug-brkを同じコマンドで使用します。

5
schmod
  • $ 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

  • webストームでデバッグ構成をセットアップします。
  • webストームでデバッグを開始すると、VMのnode.jsサーバーが数秒で起動します。

PS:vagrantファイルに触れる必要はありません。参照: WebStormをリモートnode.jsデバッグセッションに接続する

0
hushenglang