1

我已经添加了一个调试器语句,以在页面B上加载页面时执行一些JavaScript。我打开了页面A,打开了F12调试器工具。我在F12调试器工具中启用了“打破所有例外”。IE11 F12调试器不附加

我已经点击了打开页面B的链接。然后显示一个对话框,询问我是否要使用Visual Studio 2010或Visual Studio 2012进行调试。为什么不只是打开JavaScript F12调试工具?

为了使它更加古怪,如果我关闭F12开发人员工具,然后单击链接页面BI甚至不得到对话框,询问我是否想和VS 2010或VS 2012

调试 - Eric

+0

您是否需要在ie开发工具中打开外部JavaScript文件?如果是的话,会回答,但我不知道其他部分你说的调试.... – 2014-09-10 17:42:43

+0

JavaScript是在pageb.aspx页面标记。该页面将打开然后消失。我试图调试在pageb加载时触发的JavaScript,因此我添加了警报和调试器语句,但看到了这种奇怪的行为: – Eric 2014-09-10 19:23:54

+0

javascript在pageb.aspx页面的标记中。我试图调试在pageb加载时触发的JavaScript。我向pageb的JavaScript添加了一条警告和调试器语句,但看到了这种奇怪的行为:
当我运行F12开发人员工具时,看到警报,但我的F12开发人员工具不会在调试器语句处中断。相反,我被问到是否要用VS2012或VS2010进行调试。如果我没有运行F12开发人员工具,我会看到警报,但是它被调试器声明所打动,就像它完全不存在。 – Eric 2014-09-10 19:29:48

回答

1

您看到的对话框是“Just in Time”调试器对话框。这显示在两个条件:

  1. 的页面是在调试模式 - 在这种情况下很可能发生,因为该页面的处于调试模式和网页B继承了设置(这最有可能是在同一个过程和设置是每个过程)。如果F12未打开,那么该页面将不会处于调试模式(除非在别处进行了配置),因此调试器关键字将被忽略。
  2. 页遇到一个理由来打破(例如调试器关键字或者未处理的异常) - 在这种情况下,它的调试器关键字

IE设计这种方式允许其他调试器,如Visual Studio,以附加一个调试IE,而不是仅限于F12工具。当您安装Visual Studio时,您会看到Visual Studio安装的对话框(您可以在msdn上阅读更多内容)。

最简单的解决方案是在第b页启动F12,它应该可以工作。 Unfortunatley,因为你需要调试启动代码,你需要刷新页面b,以便运行该代码,因为F12以前不能打开。假定你可以刷新页面b。如果不是这样会有点棘手,但应该有办法。 (请让我知道!)