多分あなたの問題は、コールがクロージャー内にあるという事実にあります。コードなしで正確に言うのは難しいです。 node-inspectorとv8-profilerを使用してアプリをデバッグすることができます。 NPMを経由して(root権限が必要)グローバルノード・インスペクタをインストール
:
npm install -g node-inspector
は、NPMを経由してあなたのアプリnode_modulesにV8-プロファイラをインストールします。
npm install v8-profiler
アプリNTO V8-プロファイラを含めると、プロファイリングを開始:
var profiler = require('v8-profiler');
profiler.startProfiling('profile name');
// Critical code
// profiler.stopProfiling('profile name'); // If needed
デバッグモードでアプリを実行:
node --debug your/node/program.js
スタートノード-インスペクター:お好みのWebKitベースのブラウザで
node-inspector --web-port=8081 &
オープン
http://127.0.0.1:8080/debug?port=5858
:
node-inspector &
あなたは--webポートのオプションとデフォルトの8080ポートを変更することができます。
[プロファイル]タブに移動し、プロファイリングを有効にします。その後、あなたのアプリケーションのすべてのprofiler.startProfilingコールが新しい実行トレースを作成し、 'cpu profiles'にそのアクションを表示する必要があります。
[JavaScriptの呼び出し元関数はどのようにして見つけられますか?](http://stackoverflow.com/questions/280389/how-do-you-find-out-the-caller-function-in- javascript) –
console.log(新しいエラー()。スタック); 4回目に関数が実行されるとスタックトレースが得られます。 –