1

欲しいもの

WebInspectorを使用したデバッグ中にスクリプト全体を実行できるようにしたい。-個々のJavaScript呼び出しをステップスルーしたくありません。nodenode-inspector

私がしたこと

(私のPowerShellの説明)

PS C:\Users\JK> node-inspector
   info  - socket.io started
visit http://0.0.0.0:8080/debug?port=5858 to start debugging
...

==[In another PowerShell instance:]==

PS %> node —debug-brk myscript.js
debugger listening on port 5858

なぜそれが欲しいのか

ノードスクリプトを書いています。このスクリプトでconsole.logは、デバッグプロセス中にオブジェクトを探索できるようにするために、多くのオブジェクトを使用しています。しかし、単純な静的テキストコンソール出力は実際には良くありません-オブジェクトのプロパティを折りたたんで展開したり、関数のソースコードを取得したりすることはできません。

(例えば)

{ [Function: Xy]
  a: [Function],
  b: 8.2,
  c: [Function],
  d: [Circular],
  e: '2011-11-11' }

そこでnode-inspector、オブジェクトの参照エクスペリエンスを向上させるために、Web Inspectorをで使用することにしました(Web Inspectorの優れた出力フォーマットのため)。

ステップスルーしない理由

(私のスクリプトの構造)

var fs = require('fs');

fs.readFile('myfile', function (err, data) {
    if (err) {
        throw err;
    }

    //My Script...

    console.log(something);
});
  1. 呼び出しは、のconsole.log()コールバック関数で実行されます require('fs').readFile()。「通常の」手順だけでは到達できません。
  2. ステップボタンを何度もクリックするのは退屈です。

私の質問

  • 次のWebInspectorユーザーインターフェイスを使用してステップスルーせずにスクリプトを実行する可能性はありますか?(スクリプトの実行が速すぎるためにInspectorがスローするため、代わりに使用したくありません)node —debug myscript.jsnode —debug-brk myscript.jsError: connect ECONNREFUSED Is node running with --debug port 5858?

(Webインスペクターインターフェイス) Webインスペクターインターフェイス

  • または、少なくとも私が上で説明したことを行う他の方法はありますか(なぜそのセクションが必要なのか)。

ありがとう。-(私が聞きたかったことが明確になっていることを願っています。-そうでない場合はコメントを書いてください。)

4

1 に答える 1

3

いくつかのオプションがあります。

使用--debug-brk:

  1. スクリプトを開始し、最初の行で停止させます。

    スクリプト ペインで、コールバック内の行番号 (この例では 4 行目) をクリックします。

    [続行] (右側のパネルの上の [|>] アイコン) をクリックします。

使用--debug:

  1. コールバックに行を追加しdebugger;ます。これにより、その時点でデバッガーが停止します。完了したら、[|>] をクリックします。
于 2012-10-05T13:32:26.060 に答える