Search Posts

Visits: 704

サーバーを検査モードで起動

–inspectオプションをつけてnodeプログラムserver.jsを起動する。

$ node --inspect server.js

Debugger listening on ws://127.0.0.1:9229/UUID
For help, see: https://nodejs.org/en/docs/inspector
Server started
Debugger attached.
Received from client: test
Received from client: Hello

クライアント起動

wscatを起動

$ wscat --connect ws://127.0.0.1:8010
Connected (press CTRL+C to quit)
> test
< Server received from client: test
> Hello
< Server received from client: Hello
> 

リモートデバッグ

Amazon EC2サーバーにSSH接続する。

$ ssh -L 9221:localhost:9229 ec2-user@remote.example.com -i "key.pem"
Last login: ...

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
[ec2-user@ip-*-*-*-* ~]$ 

これにより、ローカルマシンのポート9221への接続がremote.example.comのポート9229に転送されるSSHトンネルセッションが開始される。 これで、Chrome DevToolsのデバッガーをlocalhost:9221に接続できる。
chromeブラウザのアドレスにchrome://inspectを入力してインスペクタウインドウを開く。
ローカルのポート9221への接続を追加する。

表示されるサーバープログラムを選択するとDevToolsのウィンドウが開きデバッグできる。

wscatからのメッセージがコンソールに表示されブラウザ上でリモートプログラムの実行が確認できる。

コンソールに表示されるソースの行をクルックするとその箇所が表示され、トレース実行で確認できる。

参考:https://nodejs.org/のDebugging Guide