Visual Studio 2017 Chrome JavaScript 调试 - 断点未生效

6
我已安装了VS2017并尝试使用新功能。其中一个不错的东西是Chrome JS调试,但我似乎无法触发断点。
我创建了一个新的.NET Core网站(.NET Core 1.1),并将以下函数添加到site.js文件中。
function test() {
var a = "message";

console.log(a); };

我之后在“var = a…”这一行加了一个断点。运行网站——它会打开一个新的Chrome窗口并像应该做的那样附加到进程上。然后我按F12并调用test(),但没有命中断点,它只是输出到控制台。控制台窗口中还有以下消息:
Browser Link:无法调用返回值回调: TypeError: Cannot read property 'files' of null
但是,当我在IE11中尝试时也得到了这个消息,并且它确实在IE中命中了断点。
我已将我的Chrome更新到最新版本-57.0.2987.98 我正在运行Windows 10 Pro(完全更新)。

site.js code

Chrome Console Output

你有任何想法是什么吗?

更新

我已经在以下电脑上尝试过 -

  1. 我的家用电脑(Windows 10 Pro)- 安装了VS2015和VS2017
  2. 工作电脑(Windows 8.1 Pro)- 也安装了VS2015和VS2017
  3. 在我的工作电脑中 - (新建)HyperV虚拟机(Windows 8.1 Pro)- 只安装了VS 2017

所有这三台电脑都无法触发断点

奇怪的是,其他人在工作中可以毫无问题地使其工作。


请确保以管理员身份运行Visual Studio。 - Rudey
2个回答

5

1
这使得工具变得毫无价值,但是没错,就是这个问题...奇怪的是它在自调用函数中无法触发断点,但在普通函数中可以 - (function test() { showSomething(); })();function showSomething() { var a = "消息"; alert(a); } - Thomas James
它在自执行函数中出现了错误:你需要刷新浏览器,但是按F5不会立即刷新。至于没有打开Chrome开发工具,我认为重点是你不能在同一调试会话中将两个调试器附加到相同的代码上。因此,你要么使用Chrome的优秀调试工具进行调试,要么使用Visual Studio的优秀调试工具进行调试,而不能同时使用两者。这似乎并不完全不合理。 - Rich N
谢谢,这个方法有效。我关闭了 Chrome 浏览器,再次运行应用程序,然后在我的 .js 文件中设置了断点,现在可以正常触发了。此外,如果你有打开多个选项卡并且其中一些选项卡也在运行该应用程序,则调试器可能无法触发断点。 - Shaiju T
这似乎并不完全不合理......除非你想在调试时查看控制台日志... - OrdinaryOrange

0

在 Chrome 的 V63 之前,它不允许多个远程调试会话。打开 Chrome 调试工具会占用唯一可用的连接,并终止 VS 持有的连接。

然而,这个问题现在已经被 Chromimum 团队解决了!

不幸的是,当按下 F12 键时,Visual Studio 调试会话仍然会被终止。

有一个解决方法,希望 VS 团队能够纠正潜在的问题。请参见 我在 MSDN 上发布的完整详细信息


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接