私はFireBug Debuggerを初めて使用します
main()
から入力されたbar
の最初の行にある次のコードを想像してください。
function main() {
val s = foo();
bar(s);
}
function foo() {
return "hi";
}
function bar(s) {
val t = s + foo(); // Debugger is currently here
return t;
}
次に:
foo
呼び出しに進み、現在の行はfoo
内のreturn "hi";
行になります。return t;
行に進みます(これにより、t
の評価対象をすばやく確認できます)。bar
メソッドの実行が終了し、制御がmain
メソッドの最後の行に戻ります。ステップインすると、デバッガーは次の関数呼び出しに進み、そこでブレークします。
ステップオーバーは、デバッガーに次の関数を実行し、後でブレークするように指示します。
ステップアウトは、デバッガーに現在の関数を終了し、その後に中断するように指示します。
ショートバージョンは、step into
は、現在の行で呼び出されている関数の内部に移動します(1つが呼び出されていると想定)、step out
は、あなたがstep into
関数、およびstep over
は次のコード行に移動します。例えば:
window.someFunction = function() {
var x = 10; //step over to move to the next line
//step out to return to the line after where 'someFunction()' was called
//step into not available
var y = 20;
return x * y;
};
//set breakpoint here
var x = 7; //step over to execute this line and move to the
//next (step into and step out not available)
x += someFunction(); //step over to move to the next line
//step into to move to someFunction() (above)
//step out not available
alert(x); //step over to display the alert
//step out and (probably) step into not available