Nodejs入門ガイド(2)

6406 ワード

翻訳元:https://nodejs.org/en/docs/guides/debugging-getting-started/
デバッグマニュアル(Debugging Guide)
本ガイドはNode.jsアプリケーションとスクリプトのデバッグを開始します.
チェックを有効にします.
NOTE:--inspectオプションとInspectorプロトコルは実験的で、変更するかもしれません.
    inspectスイッチを使用して起動すると、Node.jsプロセスはWebSocketsを通じて検証プロトコルによって定義された診断コマンドを検出し、デフォルトではホストとポート127..1:9229にある.各プロセスはまた、1つの一意のUUID(例えば、0 f 2 c 936 f-b 1 cd-4 ac 9-ab 3-f 63 b 0 f 33 d 55 e)を割り当てられる.
検出器クライアントは、ホストアドレス、ポート、UUIDを知っていてこそ、WebSocketインターフェースに接続することができる.完全なURLはws:/127..0.1:9229/0 f 2 c 936 f-b 1 cd-4 ac 9-ab 3-f 63 b 0 f 33 d 55 eであり、もちろん実際のホストおよびポートおよびインスタンスの正確なUIDに依存する.
Inspectorはまた、WebSocket URL、UUUID、およびChrome DevTools URLを含む、調整対象に関するメタデータを提供するHTTP端末ポイントを含む.このメタデータは、http://[host:port]/json/listにHTTP要求を送信することにより取得される.これは以下のJSONオブジェクトに戻ります.webSocketDebuggarrUrl属性をURLとしてInspectorに直接接続します.
{
  "description": "node.js instance",
  "devtoolsFrontendUrl": "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e",
  "faviconUrl": "https://nodejs.org/static/favicon.ico",
  "id": "0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e",
  "title": "node",
  "type": "node",
  "url": "file://",
  "webSocketDebuggerUrl": "ws://127.0.0.1:9229/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e"
}
inspectがない場合に起動するNode.jsプロセスは、SIGUSR 1(LinuxおよびOS X)で信号を送ることによって、デバッグメッセージのリスニングを開始するように委任されてもよい.ノード7から、これは従来のモデレータAPIをアクティブにする.ノード8およびより高いバージョンでは、Inspector APIがアクティブにされる.
クライアント検出器(Inspector Cients)
いくつかの商業およびオープンソースツールはNodeの検診器を統合することができます.
node-innspect
  • 用 Inspector ProtocolプロトコルのNodejs組織が提供するCLIツール.
  • とNodeを結合したものは、このように使用できます.  node inspect myscript.js.
  • は最新版(e.g.を単独でインストールすることもできます.  npm install -g node-inspect
  • Chrome DevTools 55+
  • Option 1:Open  chrome://inspect in a Chromium-based browser.Click the Configure button and ensure your taget host and port are listed.
  • Option 2:Copy the  devtoolsFrontendUrl from the output of  /json/list (see above)or the--inspect hint text and paste into Chrome.
  • Option 3:Install the Chrome Extension NIM(Node Inspector Manager):https://chrome.google.com/webstore/detail/nim-node-inspector-manage/gnhhdgbaldcilmgcpfddgdbkhjohddkj
  • VSコード 1.10+
  • In the Debug panel、click the settings icon to open  .vscode/launch.json.Select「Node.js」for initial setup.
  • JetBrains Web Storm 2017.1+and other JetBrains IDEs
  • Create a new Node.js debug configration and hit Debug.  --inspect will be used by default for Node.js 7+.To disable uncheck  js.debugger.node.use.inspect in the IDE Registry.
  • chrome-remote-interface
  • Library to ease connections to Inspector Protocol endpoints.
  • コマンドラインオプション(Command line options)
    表示
    意味
    --inspect
  • 検査器プロキシを有効にする
  • デフォルトアドレスとポートを傍受する(127..1:9229)
  • --inspect=[host:port]
  • 検査器プロキシを有効にする
  • バインディングアドレスまたはホスト名(default:127.1.0.1)
  • 傍受ポート(default:9229)
  • --inspect-brak
  • 検査器プロキシを有効にする
  • デフォルトアドレスとポートを傍受する(127..1:9229)
  • Break before user code starts(ユーザコードの開始前に中断)
  • --inspect-brok=[host:port]
  • 検査器プロキシを起動する
  • バインディングアドレスまたはホスト名(default:127.1.0.1)
  • は、デフォルトアドレスとポート(default:9229)を傍受する
  • です.
  • Break before user code starts(ユーザコードの開始前に中断)
  • node inspectscript.js
  • Spawn child process to run user's script under--inspect flags;and use main process to run CLI debugger.(inspectでサブルーチンを生成してユーザスクリプトを実行し、メインプロセスを使用してCLIコーディネーターを実行する)
  • 従来のレガシー・デバッグは7.0版から破棄されました.使用してください--inspectとInspector.
    When started with the --debug or --debug-brk switch in version 7 and earlier、Node.js listens for debuggg command defined by the disconinued V 8 Debugg Protocol on a TCP port、by default  5858.Any debuggar client which speaks this protocol can connect to and debug the running process;a couple popurlar ones are listed below.V 8デバッグプロトコルはもはやメンテナンスまたは記録しない
    Buil-in Debugger
    スタート  node debug script_name.js トstart your script under Node's builtin command line debugger.Your script starts in another Node process started with the  --debug-brk option、and the initial Node process runs the  _debugger.js script and connects to your target.
    node-innspector
    Debug your Node.js ap with Chrome DevTools by using an intermediary process which trans lates the Inspector Protocoll used in Chromium to the V 8 Debuggar protocoused in Node.js.