7

node-inspector を使用すると、次の node.js コードでブレークポイントを設定できません。(の内容main.js)

(function() {
    require('underscore');

    var doSomething = function(callback) {
        callback('doSomething Finished');
    }

    doSomething(function(x) {
       console.log(x);
    });

}).call(this);

2 行目、4 行目、または 8 行目に簡単にブレークポイントを設定できますが、どんなに頑張ってもデバッガーで 5 行目または 9 行目にブレークポイントを設定することはできません。 node-inspector を実行する次のコマンド

node --debug-brk main.js
node-inspector

Web ストームでのデバッグも試みましたが、問題は解決しません。行を削除するとrequire('underscore');、問題はすぐになくなり、関数本体内にブレークポイントを再度設定できます。最も外側のクロージャー関数を削除すると、問題も解決します。とファイル レベルのクロージャの間の相互作用によりrequire、ノードのデバッグ機能が台無しになっているようです。誰かがこの問題を自分で経験したことがありますか、および/または関数本体内で中断できる回避策を知っていますか?

編集:私のノード js バージョン

Tony:~ $ node --version
v0.10.12
Tony:~ $ 
4

2 に答える 2

11

同じセットアップでまったく同じ問題に遭遇しました。

ターゲット関数の定義のにブレークポイントを追加しました(実際にブレークポイントを追加できる唯一の場所でした)。デバッガーがそのブレークポイントに到達し、関数が実際に定義されると、実際のターゲット関数にブレークポイントを追加できました...

于 2014-01-14T10:03:51.040 に答える