web-dev-qa-db-ja.com

node-inspectorでnode.jsをデバッグする

Node-inspectorを使用してnodejsアプリをデバッグしようとしています。ただし、Google Chromeはコードを表示しません。

私は次のものを使用しています、

Node.js:v0.10.26

エクスプレス:4.0.0

ノードインスペクター:v0.7.3

Google Chromeバージョン:34.0.1847.131

これは、デバッガを起動するために私がやっていることです。

$ node-inspector
Node Inspector v0.7.3
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.

別のコンソールで、

$ node --debug app.js 
debugger listening on port 5858
$

次にGoogle Chromeを起動して、

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

ノードインスペクターを開きますが、コードはありません。すべてのウィンドウは空です。

「ポート3000でリッスンしているエクスプレスサーバー」を取得していないことに気づいた

node-inspectorはノードへの接続に失敗します ですべて試してみましたが、運はありません

不足しているものを解決できませんでした。ご意見をお寄せいただければ幸いです。GoogleChromeでNode.jsアプリをデバッグできます。

68
genwip

node --debug-brk app.jsの代わりに--debugを実行してみてください。ノードインスペクターがノードプロセスにフックする前に、アプリケーションが一時停止しない場合があります。 --debug-brkを使用すると、ノードがアプリの最初の行で強制的にブレークし、デバッガーがプロセスにアタッチするのを待ちます。ノードインスペクターWebインターフェースをロードすると、ノードインスペクターがノードプロセスにアタッチされます。そのため、ノードデバッグポートをクエリ文字列(localhost:8080/debug?port = 5858)に含めます。ノードインスペクタに、どのポートに到達して接続する必要があるかを伝えています。

ここに、ノードインスペクターの完全なインストールと実行を示すアニメーションgifを示します。

Gifでは、起動時に実行されるコードをデバッグしていないため、--debugフラグを使用しています。ページが要求されたときにのみ起動する要求ハンドラー内でデバッグしています。したがって、ページを更新すると、ノードインスペクタがその行で中断します。

少し前に15分間のYouTubeチュートリアルも作成しました。

http://youtu.be/03qGA-GJXjI

それがお役に立てば幸いです!

121
Chev

node-inspectorはデフォルトで、デバッグウィンドウを開始する前にすべてのコードをプリロードしようとします。インスタンスがありましたが、この事前読み込みのためにノードインスペクターがハングするだけです。幸いなことに、新しいバージョンにはプリロードを停止するオプションがあり、それによりインスペクターのロードが高速になります。

node-inspector --no-preloadを試してください

22
Jerome Anthony

ノード6.5では、標準のリモートデバッグは完全に壊れています。ただし、新しい内部ノード機能に置き換えられました

$ node --inspect --debug-brk build/server/server.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://devtools/remote/serve_file/@62cd277117e6f8ec53e31b1be58290a6f7ab42ef/inspector.html?experiments=true&v8only=true&ws=localhost:9229/node
Debugger attached.

こちらをご覧ください- http://arveknudsen.com/?p=346%3Fpage_id%3D346&print=pdf -詳細情報

6
elmpp

--debug-brkは非推奨になりました

node --inspect-brk <your starting file name>を試してからchromeに移動し、url chrome://inspectと入力してOpen dedicated DevTools for Nodeをクリックすると、デバッガーが起動します。ノードインスペクターは不要です

1
vinay gosain

enter image description here

Node Inspectorの左にある「ソース」タブには、「三角形が入ったボックス」があります-ハイライト表示には「ナビゲーターを表示」と表示されます。 (上の写真を参照してください)。開いてデバッグするファイルを見つけ、まだ実行されていないコードにブレークポイントを設定します。

また、開始ノードで実行されるコードをデバッグする場合は、開始時に--debug-brkオプションを使用する必要があります。次に、Node Inspectorで、アプリを起動する必要があります(すべてを実行するにはF8)。 Webブラウザの起動など、すべての初期化コードをデバッグする場合は、このオプションが必要です。

0
clay

node-debug --no-preload app.js

これは私のために働いています。 this :に準拠

スクリプトの実行速度が速すぎて、デバッガを接続できません。

デバッグされたプロセスは--debug-brkで開始する必要があります。これにより、スクリプトは最初の行で一時停止します。

注:node-debugは、デフォルトでこのオプションを追加します。

0