为什么IE JavaScript断点在Visual Studio 2013中停止工作

Why did IE JavaScript breakpoints stop working from Visual Studio 2013?

本文关键字:Studio 2013 停止工作 Visual IE JavaScript 断点 为什么      更新时间:2023-09-26

直到两周前,我还能够通过添加调试器在JavaScript代码中设置断点;陈述对于Internet Explorer,当命中此语句时,这将导致我自动返回Visual Studio调试器。

我可以选择在VisualStudio中为该行切换断点,但这不是必要的,而且如果没有调试器,它也不会自己设置断点;陈述当以这种方式设置断点时,它将在JavaScript代码行上显示一个用红色填充的圆圈。

4月4日,这一切都停止了。

现在,如果我添加一个调试器;声明什么也没发生。如果我试图在VisualStudio中切换断点,我会得到一个红色的开放圆圈。将鼠标悬停在圆圈上会出现错误:"当前不会命中断点。尚未为此文档加载任何符号。"

我已经搜索了那个错误消息,但我发现的是关于C#的,而不是JavaScript。

我认为问题可能是我们对源代码所做的,所以我检查了一个旧得多的版本,但我仍然有同样的问题。和我一样,我们的另一位开发人员在他的主机上也出现了同样的问题。但他有一台使用频率较低的笔记本电脑,却没有发现问题。它有点落后于我们的源代码管理,他一次提交一个,直到现在的版本,从未发现问题。

我们如何让断点重新工作?我们如何让Visual Studio加载JavaScript符号?(或者这真的是问题所在吗?)

我已经依赖Firebug两周了,但由于VS集成,我需要回到IE。

我已经看过的东西:

在Visual Studio中,"工具"->"选项"->"调试"->"实时","脚本"已被选中。

在IE Tools(IE工具)->Internet Options(Internet选项)的Advanced(高级)选项卡的Browsing(浏览)部分中,无论是对于Internet Explorer还是对于Other(其他),均未选中Disable script debugging(禁用脚本调试)。

在VS的Properties菜单中,右键单击解决方案后,Common Properties->Startup project,选择Multiple Startup projects,用我们的JS代码设置对项目的启动操作。这样做的结果是,我的"Internet Explorer"按钮变成了无法运行项目的"开始"按钮-它只是给出了错误消息"调试器无法继续运行进程。无法启动调试。"

右键单击项目,选择属性,转到Web->调试器。我得到的选项有ASP.NET、本机代码、SQL Server和Silverlight。仅检查ASP.NET。启用了所有其他功能,但没有任何更改。

清理并重建了整个解决方案。

项目属性->Build:选中Define DEBUG常量和Define TRACE常量。在"高级"对话框中,"调试信息"设置为"完整"。不确定这是否与JavaScript有关。

调试->选项和设置->调试->常规:取消选中启用仅我的代码

在进行了大量更改后,我在第2600行看到了以下错误消息"忽略了eval代码中的调试器语句"。若要停止此语句,请禁用"仅我的代码"。"

我已经尝试过"只是我的代码"修复,但我再次尝试,我的断点回来了:

调试->选项和设置->调试->常规:取消选中启用仅我的代码

当断点被触发时,它们会显示在一个特殊的评估代码窗口中,其中包括我放置调试器语句的代码副本。我想以前就是这样。显然,在我们的代码中,有一些地方的断点无论如何都能工作——这些地方不需要这个修复,也不会出现在特殊的eval窗口中。

我一个接一个地回滚了我今天所做的所有其他更改,最后看起来像是禁用了Just My Code修复了它。我甚至在创建_references.js时遇到了麻烦,因为我从JavaScript语言服务中看到了一个错误,但这似乎没有必要。

感谢那些提出建议的人,包括那些发布答案并删除它们的人,因为你意识到我已经尝试过了。显然,多次尝试有时是个好主意。