javascipt で単一のステートメントを実行する必要がある nodejs で面白いことをしようとしていますshows all the objects that are present in the current context
。
これらのオブジェクトは、私または nodejs 環境によって作成された可能性があります。
これは javascript で促進されますか?
1 つの用途は、デバッグ目的です。
javascipt で単一のステートメントを実行する必要がある nodejs で面白いことをしようとしていますshows all the objects that are present in the current context
。
これらのオブジェクトは、私または nodejs 環境によって作成された可能性があります。
これは javascript で促進されますか?
1 つの用途は、デバッグ目的です。
jsレベルからはできません。デバッガーからすべてのフレームとクロージャー スコープ変数を取得できます (自動化は非常に簡単require('_debugger')
です。これを試す準備ができている場合は、V8 デバッガー プロトコルと組み込みの node.js クライアントの詳細を説明できます。
アップデート:
ノード コアからのデバッガー クライアントの基本的な使用法:
var DebuggerClient = require('_debugger').Client;
var dc = new DebuggerClient();
dc.connect(5858); // you need to start your script with "node --debug-brk=5858 script-to-debug.js"
// listen breakpoint:
dc.on('break', function(res) {
// sctipt id, line, location here
dc.reqBacktrace(function(err, res) {
// res.frames array
});
dc.reqScopes(function(scopes) {
// SCOPES! TADAM!
});
});
最初に「デバッガー」キーワードを使用してみて、結果を調べてから、スクリプトからブレークポイントの設定/変更を続けてください。
node 、node-vim-debuggerでどのように使用されているかを確認し、何か不足している場合はV8 デバッガー プロトコルのドキュメントを参照してください。
デバッグ中のスクリプト自体から同様の APIにアクセスできることに注意してください。スクリプトの先頭にブレークポイントを設定するために使用される方法を参照してください。
// script is a reference to Script object, see "vm" module
global.v8debug.Debug.setBreakPoint(script, 0, 0);