Page 103 - JavaScript修炼之道
P. 103

附录B  JavaScript调试指南        95














                                             图B-3 在Firebug中观察栈轨迹


                   接下来让我们看看不同的单步操作。你现在应该位于fibo()函数内部的第1行(也就是代码
               的第2行)。单击位于蓝色的Play图标(用来恢复执行)右边的Step Into图标,由于条件为假,下
               面一行被跳过,然后到达return所在的这一行。再次单击这个按钮,由于这一行有函数调用,
               而你使用的是单步进入,因此你会递归地进入同样的函数,而此时base值为3(请在Watch子选
               项卡中加以确认)。














                                             图B-4  Firebug中的Watch视图


                   假如你想回到你离开时的那一层(base值等于4),而不想再一层又一层地进入函数内部,你
               可以依照下列步骤。

                   (1) 删除或禁用之前你设置的断点。否则每当用小于5的参数调用fibo()时,断点就会被触发。
               单击Breakpoints子选项卡,反选这个断点以禁用它。
                   (2) 单击 Step Out 图标(源码面板上部的最后一个图标),让代码继续执行,直到回到之前的
               栈轨迹位置。这时你会发现自己位于之前的return行处,base值也恢复为原来的4。
                   (3) 如果你重复上面的操作,你会一层又一层地回退(也意味着base值会回溯到越来越高的
               值),如此这般操作,过一会儿你会发现Stack子选项卡里面的栈轨迹减少了很多。
                   (4) 如果你厌倦了手动的单步执行,而想恢复正常执行,直接单击 Play 按钮(带有蓝色箭头
               的按钮)即可。
   98   99   100   101   102   103   104   105   106   107   108