2011-10-23 50 views
1

我是Opera的长期用户,作为一般用法的浏览器,由于Firefox的各种烦恼,我决定给Dragonfly一看。跳到我头上的第一件事是在调试JavaScript时,我似乎无法逐行浏览我的脚本。如何在Opera蜻蜓调试JavaScript时逐行浏览?

我正在使用ASP.NET,我的脚本只是一个按钮单击事件。当我将断点放在函数的第一行并单击按钮时,按预期击中断点。在这里,我感到困惑。蜻蜓的窗口在左上角有四个按钮 - 继续,进入,跳过和跳出。如果我点击Step Over或点击F10,我预计调试器将像Firebug一样遍历JavaScript,但它似乎立即跳过了函数的其余部分。如果我点击继续或按F8,也会发生同样的情况。如果我点击Step Into或者点击F11,我开始下降到jQuery JavaScript中,而这种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

+0

我见过F10有时会行事不端: - /,如果你有一个链接的地方显示这个问题我想检查它是否在Opera 12预览版中修复了。 – hallvors

+1

顺便说一句,唯一的解决方法是在你想要跨越的函数下面设置一个断点,使用F10,清除断点并继续正常。 – hallvors

+0

能否详细说明你的意思是“在你想要跨越的函数下面设置一个断点”? – Malice

回答

1

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

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

我已经做了尝试重现这个bug以便它可以得到固定更多的工作。在Opera中的(关闭)的bug跟踪系统,这是目前跟踪的问题CORE-42532 ,似乎我们在那里取得了一些进展,所以希望这个烦恼会有一天消失。同时祝你的调试运行顺利!