3

JavaScriptを使って何かオブジェクトを実行し、別のオブジェクトで2回実行するJavaScriptプログラムがあるとします。スタックトレースを比較する(Chromeデベロッパーツール)

Chrome Developer Toolsを使用してプログラムをデバッグするとき、2つの実行のスタックトレースを自動的に比較/比較することはどういうことですか?私の要求の背後にあるアイデアは、未知のプログラムをデバッグすると、異なるオブジェクトがどのように扱われるかを知ることができます。プログラムのその時点で差異が検出されます。

プログラムが十分な大きさであれば、手動で両方のデバッグを手動でデバッグし、違いがどこで起こったかを覚えてみるのは非常に面倒かもしれません。

答えて

4

コールスタックを出力するポイントを指定する必要があります。両方のパスが同じ機能で終了する場合は、最後のコールにconsole.trace()コールを入れることができ、コンソールで両方のスタック出力を取得します。

例:

var objA = { type: "a", val: 1 }; 
var objB = { type: "b", val: 2 }; 

function doSomething() { 
    console.log("do something"); 
    doFinalThing(); 
} 

function doSomethingElse() { 
    console.log("do something else"); 
    doFinalThing(); 
} 

function doFinalThing() { 
    console.trace(); 
} 

function init(obj) { 
    if (obj.type == "a") { 
     doSomething(); 
    } else { 
     doSomethingElse(); 
    } 
} 

init(objA); 
init(objB); 

enter image description here

+0

、おかげで素晴らしいこと! –

関連する問題