Visual Studio Codeを使用してNodeJSアプリケーションのプロファイルを作成できますか?
Can I Profile Nodejs Applications Using Visual Studio Code
解決:
Chromeの開発ツールで利用できるプロファイリングやヒープダンプなどを開始するために私が知っているプラグイン/サポートはありません。ただし、VS Codeデバッガーは、開発ツールデバッガーと一緒に機能します。
VS Codeから開始し、デバッグを開始します。次に、Chrome / Chromiumブラウザーの任意のタブから開発ツールを開き、node.jsデバッグプロセスが実行されていることを示す緑色のアイコンを探します(node --inspectを介して手動で実行):
。
この緑色のアイコンをクリックすると、node.jsプロセスをデバッグするためのブラウザー開発ツール機能の多くが表示されます。記憶と
プロファイルタブ。
Visual Studio Code 1.45(2020年4月)は、プロファイリングを含むJavascriptデバッグ機能を統合しているため、役立つはずです。
新しいJavaScriptデバッガー
今月は、新しいJavaScriptデバッガーの進歩を続けました。
これはデフォルトでInsiderにインストールされ、VS CodeStableのMarketplaceからインストールできます。
を有効にすることで、既存の起動構成で使用を開始できます。
debug.javascript.usePreview
設定。
今月追加されたいくつかの新機能は次のとおりです。
プロファイリングサポート
コールスタックビューの新しい[プロファイル]ボタンをクリックするか、を使用して、Node.jsまたはブラウザアプリケーションからCPUプロファイルをキャプチャできます。
デバッグ:パフォーマンスプロファイルを取得する
指図。
実行したら、プロファイルを実行する期間を選択できます。プロファイルを停止するまで、一定期間、または別のブレークポイントに到達するまでです。
プロファイルが終了すると、ワークスペースフォルダーに保存され、VSCodeで視覚化されます。
プロファイルを開くと、機能レベルおよび特定の「ホット」ラインのパフォーマンス情報を含むコードレンズがファイルに追加されます。
他の多くのツールでキャプチャされたプロファイルとは異なり、記録されたプロファイルはソースマップに対応しています。
cheesusは、プロファイラー出力の行番号に問題があるコメントで言及しています。
したがって、microsoft / vscode-js-デバッグの問題559:
これは、その場所がコンパイルされたコードにのみ存在する関数内にあるためです。
実際には、元のファイルにソースマップを戻そうとしますが、その場所で使用するマッピングはありません。
ターゲットをに変更した場合
es6以降-InternetExplorerまたはNodeバージョンをターゲットにしていない限り、これは最近実行できます<= 4 -- TS does not need to generate this stuff and line numbers work.
コードもより高速に実行されます。これが最新のマッピングですこのデバッガーは、ノード8以降のみをサポートします。
このバグは、デバッガー自体がサポートするものより古いバージョンのNode用にコンパイルされたコードでインプレース変換を使用するときに、古いJavaScriptバージョンをターゲットにする場合にのみ存在するという事実と、これを修正するための複雑さのために、この問題を閉じます。範囲外として。
はい、多くの方法があります。
に行くpackage.jsonとセット:
{\その他の情報 'スクリプト':{'デバッグ': 'ノード--inspect-brk'}}その後、useコマンドを実行します。npm run debug yourFile.js
または、1行で実行できますnode --inspect-brk yourFile.js
この後:クロームを開いて行きますchrome:// inspect
数秒待って、リモートターゲットが表示されたら、検査する
あなたが使用することができますdebbuger;コード内でブレークポイントを作成します。
詳細については、ドキュメントを参照してください。
別の方法として、プラグインを使用できますVS code'Debugger for Chrome 'を実行し、ガイドに従ってください。