使用Opera Dragonfly调试JavaScript时如何逐行执行?

时间:2011-10-23 21:15:29

标签: asp.net opera opera-dragonfly

我长期以来一直将Opera用作浏览器以供一般使用,由于对Firefox的各种烦恼,我决定让Dragonfly看看。我突然想到的第一件事就是在调试JavaScript时我似乎无法逐行遍历我的脚本。

我正在使用ASP.NET,我的脚本只是一个按钮点击事件。当我将断点放在函数的第一行并单击按钮时,断点按预期命中。我在这里很困惑。 Dragonfly的窗口左上方有四个按钮 - 继续,步入,跳过和跳出。如果我单击Step Over或者点击F10,我希望调试器会像Firebug一样遍历JavaScript,但它似乎会立即跳过其余的功能。如果我单击继续或按F8,会发生同样的事情。如果我单击Step Into或者点击F11,我会开始下载到jQuery JavaScript中,这听起来不是我想要的!

我只是错过了一些基本的东西吗?如果有帮助,我正在使用Opera 11.52。

只是为了添加有关我正在使用的环境的更多信息,下面是我的按钮点击事件的屏幕截图,第14行设置了断点。当我点击浏览器中的按钮时,执行会按预期暂停。

enter image description here

现在,我希望有一些按键可以让我直接进入第15行。在Firebug和IE开发工具中,按键是F10。在Dragonfly中虽然F10似乎只是跳过其余的JavaScript代码。这同样适用于Shift + F11。 F11本身将我带到jquery.js的这一部分,如前所述,它不是我想要的地方。

enter image description here

2 个答案:

答案 0 :(得分:1)

这是Opera中的一个错误,当使用Dragonfly调试器踩到或跳出函数时,有时会出现问题。

唯一的解决方法是在要跳过的函数下面设置一个断点,使用F10,清除断点并继续正常运行。例如,在上面的第一个屏幕截图中,您将在第15行设置一个新的断点,按F8,并在停止时清除第15行的断点。我知道这真烦人: - (

我已经做了一些尝试重现这个bug的工作,以便它可以得到修复。在Opera的(封闭式)bug追踪器中,现在跟踪问题CORE-42532,似乎我们在那里取得了一些进展,所以希望这种烦恼有一天会消失。同时祝你好好调试!

答案 1 :(得分:0)