2017-03-09 208 views
6

我已经安装了VS2017并尝试添加新的东西。其中一件好事是Chrome JS调试,但我似乎无法达到一个突破点。Visual Studio 2017 Chrome浏览器JavaScript调试 - 不打中断点

我创建了一个新的.NET的核心网站(.NET核心1.1),并添加以下功能到site.js文件

function test() { 
var a = "message"; 

console.log(a); }; 

然后我就行了“VAR添加一个破发点=一个。 ..“

运行网站 - 它打开一个新的chrome窗口,并附加到它应该的过程。然后按F12并调用test(),但没有中断点被输入到控制台。

一两件事,也是在控制台窗口下面的消息 -

Browser Link: Failed to invoke return value callback: TypeError: Cannot read property 'files' of null

但是我在IE11尝试时,它也收到此消息,它并击中了破发点,在IE

我已经更新了我的Chrome浏览器的最新版本 - 57.0.2987.98 我运行Windows 10的亲(全面更新)

site.js code

Chrome Console Output

任何想法可能是什么?

更新

我曾尝试以下的计算机上 -

  1. 我的家用电脑(视窗10专业版) - 有VS2015和VS2017它
  2. 工作计算机(视窗8.1专业版) - 也上有VS2015和VS2017
  3. 随着我的工作电脑 - (新建)的Hyper-V虚拟机(视窗8.1专业版) - 刚刚VS 2017年它

所有3个未能击中断点

奇怪的是其他人在工作能够使其工作没有问题。

+0

务必以管理员身份运行Visual Studio。 –

回答

5

一旦您在chrome中打开F12(打开Chrome开发工具),就会终止客户端调试会话。

参见:https://blogs.msdn.microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google-chrome/

也许尝试自动执行... ... e.g(未经测试)

(function test() { 
    ... 
})(); 
+1

那么这使得工具毫无价值tbh,但是是这是...奇怪它不会在自我调用函数中打断点,但会在正常函数中执行 - (function test(){ showSomething(); })( ); function showSomething()var a =“Message”; 警报(a); } –

+0

这对我来说是一个自我执行的功能:您需要刷新浏览器一次,但是它不会立即在F5上执行。至于没有打开Chrome开发工具,我认为重点在于,您不能在同一个调试会话中将两个调试器附加到相同的代码。因此,您可以使用Chrome优秀的调试工具进行调试,也可以使用Visual Studio的优秀调试工具进行调试,而不是同时进行调试。这似乎并不完全不合理。 –

+0

感谢这工作,我**关闭铬浏览器**并再次运行该应用程序,然后在我的'.js'文件中设置断点,现在它击中。另外,如果你的标签打开时使用在标签中运行的相同的应用程序,然后调试器不会因某些原因而打。 – stom

0

此前铬第五63,它不会允许多个远程调试会话。打开chrome调试工具将接管唯一可用的连接,并终止VS所持有的连接。

但是这已经被chromimum团队纠正了!

不幸的是,当F12命中时,Visual Studio调试会话终止会出现问题。

有一种解决方法,希望VS团队能够纠正潜在的问题。请参阅My post on MSDN for full details

相关问题