【问题标题】:How to step through line by line when debugging JavaScript with Opera Dragonfly?使用 Opera Dragonfly 调试 JavaScript 时如何逐行执行?
【发布时间】:2011-10-23 21:15:29
【问题描述】:

我是 Opera 作为一般浏览器的长期用户,由于对 Firefox 的各种烦恼,我决定给Dragonfly 看看。我首先想到的是在调试 JavaScript 时,我似乎不能只逐行执行脚本。

我正在使用 ASP.NET,而我的脚本只是一个按钮单击事件。当我将断点放在函数的第一行并单击按钮时,断点会按预期命中。在这里,我感到困惑。 Dragonfly 的窗口左上角有四个按钮——继续、步入、跳过和退出。如果我单击 Step Over 或按 F10,我希望调试器会像 Firebug 一样单步执行 JavaScript,但它似乎会立即跳过函数的其余部分。如果我单击继续或按 F8,也会发生同样的事情。如果我单击 Step Into 或按 F11,我会开始下降到 jQuery JavaScript,这显然不是我想要的!

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

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

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

【问题讨论】:

  • 我有时看到 F10 行为不端 :-/,如果您在某处有显示此问题的链接,我想检查它是否已在 Opera 12 预览版中修复。
  • 顺便说一句,唯一的解决方法是在要跳过的函数下方设置一个断点,使用 F10,清除断点并正常继续。
  • 您能否详细说明“在要跳过的函数下方设置断点”的含义?
  • 在上面的第一个屏幕截图中,您将在第 15 行设置一个新断点,按 F8,然后在第 15 行停止时清除断点。我一直在努力解决 Dragonfly 中的步进错误,因为这真的很烦人..
  • 好吧,即使它非常繁琐,它似乎也可以工作。如果您想将您的评论作为答案,如果没有更合适的内容,我会将其标记为解决方案。

标签: asp.net opera opera-dragonfly


【解决方案1】:

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

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

我已经做了更多的工作来尝试重现这个错误,以便它可以得到修复。在 Opera 的(已关闭)错误跟踪器中,这现在被跟踪为问题 CORE-42532,看来我们在那里取得了一些进展,所以希望有一天这种烦恼会消失。同时祝您调试顺利!

【讨论】:

    【解决方案2】:

    【讨论】:

    • 是的,我已经阅读了该页面,但这只会增加我的挫败感和困惑。我正在尝试做的事情肯定不是那么不寻常!
    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 2011-11-23
    • 2012-05-25
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多