Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual Studio 2013可以';在cshtml中调试javascript_Javascript_Asp.net Mvc_Visual Studio 2013_Visual Studio Debugging - Fatal编程技术网

Visual Studio 2013可以';在cshtml中调试javascript

Visual Studio 2013可以';在cshtml中调试javascript,javascript,asp.net-mvc,visual-studio-2013,visual-studio-debugging,Javascript,Asp.net Mvc,Visual Studio 2013,Visual Studio Debugging,我使用Visual Studio 2013创建了一个ASP.NET Web应用程序。我正在尝试调试CSHTML文件中的JavaScript。但是,每当我启动网页时,任何断点都会变成一个红色的圆圈箭头并表示,“当前不会命中断点。没有与此行关联的调试器目标代码类型的可执行代码。可能的原因包括:条件编译、编译器优化或当前调试器代码类型不支持此行的目标体系结构。” 最近,该项目被切换到支持MVC和RAZR,这两个我都不太清楚,这正是这个问题开始的时候。但是,搜索这些结果并不能解决我的问题 Web.con

我使用Visual Studio 2013创建了一个ASP.NET Web应用程序。我正在尝试调试CSHTML文件中的JavaScript。但是,每当我启动网页时,任何断点都会变成一个红色的圆圈箭头并表示,“当前不会命中断点。没有与此行关联的调试器目标代码类型的可执行代码。可能的原因包括:条件编译、编译器优化或当前调试器代码类型不支持此行的目标体系结构。”

最近,该项目被切换到支持MVC和RAZR,这两个我都不太清楚,这正是这个问题开始的时候。但是,搜索这些结果并不能解决我的问题

Web.config:

<compilation debug="true"...>


我知道我可以用Firebug或其他浏览器工具调试JavaScript,但我更愿意坚持使用Visual Studio的调试,因为我已经习惯了。

我不知道您的具体问题是什么,但是如果您想强制始终出现调试断点,请将
调试器;
添加到您希望它停止的行中,然后将停止。这与JS位于何处无关(在.JS文件中,.html、cshtml等)

以下是一篇关于它的博文:

我也同意JS应该放在一个.JS文件中(在一个.JS文件中添加断点我从来没有遇到过问题),但是对于快速原型设计,这是一个可以使用的解决方案

如果这仍然不起作用,您可以随时使用F12工具,因此,显然这是一个“已知问题”,将尽快解决。对于“某些”人来说,一个临时解决办法是确保所有Javascript都位于单独的文件中


这是由于RAZR和Javascript位于同一个文件中,而Visual Studio 2013无法处理该实例中的调试。

我将我的Javascript放在一个单独的文件中,并使用IE进行调试,否则它将无法工作


由于某些原因,chrome不允许您进入javascript。

还有一件事需要检查。如果您有一个应用程序| Start | BundleConfig.cs(它随MVC4或3提供),请将BundleTable.EnableOptimizations设置为false(或者像我一样,将其包装在#If!DEBUG#endif中并采用默认设置).

唯一允许从Visual Studio调试javascript文件的浏览器是Internet Explorer。(这是我在不同浏览器上测试应用程序后发现的)

我尝试使用Chrome和IE,但失败了,最终在Firefox中使用了Firebug插件,并且我能够在JS中调试和设置断点,没有任何问题(在Visual Studio 2015上的MVC6应用程序中,这显然仍然是一个问题?!)


仅供参考-当我尝试使用F12开发者工具在Chrome中调试我的JS时,它告诉我这不是一个选项,因为调试器已经附加到另一个进程上了…

对于2017年来到这里的人,我想与VS2017 Enterprise RCVS2015 Community分享我有同样的问题trong>使用除Internet Explorer以外的任何浏览器。使用IE为我做到了这一点

另外,在VS2017中,我必须添加一个
调试器
语句,让VS开始查看调试点


最后,我想至少询问投票被否决的人的意见。

开始调试后是否编辑了视图或添加了断点?请尝试停止调试会话,如果视图有未完成的更改,请保存视图,确保断点已就位,然后再次启动调试会话。不,我没有。这种情况发生在我拥有的每个断点,甚至还有一个断点可以进行几个新的调试会话。@pwdst还有其他想法吗?你知道在Visual Studio中调试JavaScript是否可行吗?计算机上安装了哪个版本的Internet Explorer?我相信Visual Studio 2013使用Internet Explorer 11中的Trident引擎进行调试-因此需要已安装(应使用Visual Studio安装对其进行升级,但您或管理员可能因为公司策略原因而降级)。此外,请确保您不尝试调试(请务必进行检查,但不要调试)在Internet Explorer中,每个人都会同时尝试将调试器附加到同一进程。IE版本为11.0.9600。我知道不会同时从IE进行调试,尽管我承认这只是因为它警告我已经附加了另一个调试器。我正在通过cshtml文件中的一个块添加脚本。我将尝试进行调试现在是一个未更改的新模板MVC应用程序。不,即使使用了
调试器;
,它也不会停止。只要我运行该应用程序,调试断点就会变为一个红色箭头,它会自动旋转,上面有一条警告提示。它也会跳过断点(即,我从具有断点的网页调用函数,这些函数在断点处不停止工作)。我已经将javascript分离到一个单独的文件中,并且相同的行为仍然存在。这非常奇怪。您是否尝试连接F12工具的调试器以查看它是否会在那里中断?如果它没有在F12工具中中断,则我怀疑可能是浏览器出了故障?尝试连接F12工具的调试器会抛出一个错误:脚本调试器未能连接到目标进程。已附加调试器。确定,启动不附加调试器的web应用程序(ctrl+F5)然后尝试连接F12 toolsbrowser可能正在缓存JS。如果您更改了任何内容,请确保Ctrl+F5。添加显式
调试器;
行不会添加红色圆圈断点,但它会强制VS或IE调试器中断。您是否可以共享已知问题的任何引用?我会看看我能做些什么,a这是电子邮件支持。我给他们发了一封电子邮件,要求他们提供参考资料。这可能帮我节省了数年的谷歌搜索时间。像这样的帖子