2008-09-22 93 views
21

我正在使用.NET 3.5网站,在一个解决方案下有三个项目。我在这个项目中使用jQuery。我想使用Visual Studio JavaScript调试器来浏览我的JavaScript代码。如果我在任何.js文件中设置了断点,我会收到一条警告:“在Visual Studio中调试JavaScript时没有为当前文档加载符号”

断点当前不会被触发。没有符号被载入这个文件。

我该如何解决这个问题?我猜测Visual Studio在解析某些jQuery代码时遇到了一些麻烦。我将尝试用扩展版本替换最小版本的jQuery.js,但我认为这不会解决它。

+0

有点多信息可能会有所帮助。我想要跨过的JavaScript代码位于外部.js文件中。 – the0ther 2008-09-22 15:29:13

+1

我有这个相同的问题,也没有答案。我投了个问题,我正在寻找答案! – bentford 2008-10-20 21:52:05

回答

12

我在Visual Studio 2008中遇到了同样的问题,花费了几分钟的时间试图让符号加载后,我最终使用了一种解决方法 - 在“调试器”中添加了一行代码。命令在我的JavaScript文件中。

添加debugger;当你再重装脚本在Internet Explorer中 它会让你带了脚本调试器的新实例,它会阻止你的调试器命令让你从那里调试后。

在这种情况下,我已经调试Firebug中的JavaScript,但我也想调试Internet Explorer。

1

您必须等待IDE解析JavaScript代码。只需稍等片刻,您就会看到JavaScript代码更改颜色。您将可以添加断点。

0

我有时与外部的JavaScript文件有这个问题 - 这是由浏览器缓存保存到文件的旧副本引起的。强制刷新页面链接到JavaScript代码解决了这种情况下的问题。

当然,请确保您的调试器已连接到正确的浏览器进程。 ;)

+0

并设置为调试脚本! – 2008-10-09 10:57:27

12

确保您的Internet选项启用script debugging。如果你认为它已经开启,请仔细检查它。

3

我终于找到了我认为的答案。

当您将调试器附加到iexplore.exe过程中时,您需要确保选择“Script”作为调试选项之一。

这是一个红色的盒子这里的按钮:Screenshot of Select Button in Attach to Process Window

然后在下一个屏幕上,选择脚本:Screenshot of Select Code Type window

这会提醒你,你不能调试托管和脚本在同一时间,但应该没问题,因为你的托管代码是你的服务器代码,而你连接到web进程(aspnet或w3wp)。

你会知道你做得对,因为VS 2008将在解决方案资源管理器中加载与该页面有关的所有脚本文档(内联的东西,评估的东西等)。

您可以完全访问DOM,即时窗口可以工作等。它非常漂亮。

5

我有同样的问题,但我通过更改Internet Explorer中的浏览器设置来解决它。转到菜单工具 - >Internet选项,选择高级选项卡,然后确保“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(其他)”均未选中。

此外,我需要将Internet Explorer设置为默认浏览器,通常设置为Firefox。为此,在Visual Studio中,右键单击Solution Explorer中的任何可浏览文件,然后选择“浏览...”选择Internet Explorer,然后单击“设为默认值”。

我不确定是否有方法可以使用其他浏览器运行调试,但如果Visual Studio只与Internet   Explorer兼容,则不会令我感到意外。

此外,您可能需要执行“附加到进程”并添加IExplorer.exe以使调试器启动。

0

这可能很明显,但我偶然发现了一秒钟,所以也许其他人也会这样。我没有设置Internet   Explorer来处理HTML/HTTP,因此当我在Visual Studio中按下运行按钮时,它未启动。

取而代之,我开始使用Firefox。我去了开始按钮|默认程序,为因特网设置  Explorer的所有默认值,然后调试开始在Visual Studio中为我工作,没有任何其他问题。

0

当您的解决方案有多个Web项目时,即使它们是通过不同端口上的其他ASP.NET开发服务器(WebDev.WebServer40.exe)实例提供的,也会发生这种情况。

0

如果运行您的解决方案中的两个或多个web项目,你有在不同的网同一地点相同名称的多个脚本文件,开发网络服务器可以服务了错误的文件,导致此问题。

在我的情况下,删除额外的副本解决了问题。

3

您可能会发现的另一件事是您的JavaScript代码中的语法错误。这就是今天发生在我身上的事情。没有符号会加载,因为我的代码中有太多括号。 IntelliSense几乎没有注册错误。一旦我修复了语法错误,一切正常。

2

所有这些答案都是正确的,但还有一件事要检查。直到昨天,我总是能够从Visual Studio内部调试我的JavaScript代码(2012)。我已经为该解决方案添加了一个Silverlight项目,该项目打开了Silverlight调试器。这是我的问题。

在Web应用程序的属性页 - >启动选项 - >在页面的底部,确保“Silverlight的”没有被选中。实际上,我只检查了ASP.NET,现在调试器通过Visual Studio。

取消选中它,现在调试器停止在“初始化”功能,因为我想。

1

对我来说,解决方案是从9版本更新IE到11希望它可以帮助的人。和平!

1

我在Visual Studio 2013上也有类似的烦人问题,而​​没有调试器的JavaScript开发只是自杀而已。

我所做的只是右键单击断点红点 - >禁用断点然后再次右键单击 - >启用断点。

这使得调试器再次像JavaScript一样在JavaScript上工作​​。

相关问题