web-dev-qa-db-ja.com

ノードjsアプリをブレークポイントなどでデバッグする方法は?

Node-inspectorをインストールして、ブレークポイントをサポートしていないことを確認しました:|全体のポイントはノードコードは非同期であり、単純にステップバイステップで実行できないことを覚えておいてください。

私は間違いなくここでポイントを逃しています...

とにかく、ブレークポイントとすべてでノードコードをデバッグしますか?

29
jayarjo

(Node 8以降の場合)

Node.jsには組み込みのデバッガがあります。通常、デバッガーをオンにする方法は2つあります。

  1. --inspectまたは--inspect-brkスイッチを使用してNode.jsアプリまたはスクリプトを起動します。例えば:

    $ node.js --inspect index.js

(注:--inspect-brkはユーザーコードが開始する前に中断します)

  1. 何らかの理由で--inspectスイッチを使用してNode.jsアプリまたはスクリプトを開始できない場合でも、Node.jsプロセスに、SIGUSR1を使用してシグナルを送信することでデバッグメッセージのリッスンを開始するように指示できます(LinuxおよびOS X) 。 Node 8以降の場合、-inspectスイッチと同じように、Inspector APIをアクティブにします

    $ kill -sigusr1 23485

(注:23485を独自のNode.jsプロセスIDに置き換える必要があります)

デバッガーをオンにすると、Google Chrome=ブラウザーを開き、アドレスバーに入力できますchrome://inspect

次に、「リモートターゲット」の下にリストされているエントリが表示されます。先に進んで「検査」をクリックしてください。

これで、ブレークポイントを設定して、コードのデバッグを開始できます。

参照:

  1. https://nodejs.org/en/docs/guides/debugging-getting-started/
  2. Stackoverflowの関連する問題: Chrome Devtools Dedicated Node.js Inspectorがブレークポイントで停止しない
6
Yuci

yupp、node-inspectorの使用に成功しました。 permanentブレークポイントが必要な場合は、コードにdebugger;を挿入するだけです。 http://nodejs.org/api/debugger.html を参照してください。

node --debug-brk script.jsを使用して、デバッガーが接続されるまでノードを待機させることも非常に役立ちます。

19
rdrey

Node jsアプリケーションをデバッグするには、デバッグ組み込みモジュールを使用できます

ブレークポイントを挿入する場所にdebugger;ステートメントを挿入します

コマンドnode inspect index.jsでファイルを実行します

Cキーを押して次のブレークポイントに進みます

replと入力して、そのブレークポイントで変数に関連付けられた値をデバッグすることもできます

詳細については、参照してください https://nodejs.org/api/debugger.html

2
Shekar Mania

nodemonライブラリを使用してみましたか? ここにあります

開発目的で、nodemonを実行するアプリを起動できます。私はこのスクリプトを持っています:

"dev": "nodemon --inspect src/index.js"

コード内でdebuggerステートメントに到達するといつでも中断します。サーバーコードを表示できるコンソールを開くには、chromeでコンソールを開き、nodejsアイコンをクリックします。 enter image description here

また、サーバーにファイルを保存するたびにサーバーを更新するのにも役立ちます。

うまくいくかどうか教えてください!

1
Alvaro

ここで少し詳しく説明します。

ブレークポイントを配置する場所にデバッガーを設定し、ノードデバッグスクリプトでコードを実行します。script.js/ index.js

デバッガーがブレークポイントで停止したら、変数を検査するためにreplする必要があります。

1
bsiddiqui