如何强制 Rider 使用 Chrome 进行调试?

Posted

技术标签:

【中文标题】如何强制 Rider 使用 Chrome 进行调试?【英文标题】:How to force Rider to use Chrome for debugging? 【发布时间】:2021-10-25 22:44:28 【问题描述】:

无论我做什么,我都无法让 Rider 使用 Chrome 进行调试。我已经删除了列出的所有其他浏览器,甚至为 Chrome 设置了“自定义路径”。我还安装并启用了所需的插件;仍然,它开始于:

Opening <URL> using the default OS app (=边缘)

然后它开始记录错误,如下所示:

    调试器监听 ws://... 已附加调试器。 正在等待调试器断开连接... 即将退出,代码:0 进程在编写摘要之前终止,异步代码中的可能错误无法继续! 尝试使用退出代码 1 退出 进程以退出代码 0 结束

该应用由多个 SharePoint 框架 (SPFx) React 项目组成,这些项目包装在 netstandard2.0 类库项目中。每个都有一个 gulp 文件,我创建了类似于以下示例的相应运行/调试配置:

我需要做什么才能让 Rider 使用 Chrome?

【问题讨论】:

【参考方案1】:

Gulp运行配置中,不能指定用于调试的浏览器,也不能使用该配置调试在浏览器中运行的前端应用。我想,一旦您的应用程序启动,您的 Gulp 任务就会打开您的系统默认浏览器 - IDE 无法控制这一点。

无论如何,要将调试器附加到在浏览器中运行的应用程序,您需要使用 JavaScript 调试 运行配置与您的服务器 URL。在此配置中,您需要指定要使用的浏览器(IDE 将默认使用 Chrome)

另外,我建议在 Gulp 运行配置中从 Node options: 中删除 --inspect 选项 - 除非您要调试 Gulp,否则这里没有任何意义任务本身。

【讨论】:

那行得通,有点。它确实连接了,但是:1)它打开了一个没有配置文件的新 chrome 浏览器,我需要能够在 5 左右之间移动以行使组权限 2)它实际上并没有达到 Rider 中设置的任何断点;它已附加并记录但不会达到断点,除非我在 Chrome 中设置它们似乎违背了目的。即便如此,当它加载远程副本时,它是 webpack 文件,所以......这些问题可能更多地与 SPFx 项目的工作方式有关。 1.这样做是为了确保没有使用相同用户数据的实例正在运行,因为在浏览器启动后无法打开用于调试的端口。请注意,您可以在 Settings | 中修改 Chrome 设置。工具 | Web 浏览器 使用您自己的用户数据(设置、扩展程序等)启动 Chrome - 请参阅jetbrains.com/help/webstorm/… 但是,如果您这样做,请始终确保 Chrome 尚未使用您的用户数据运行,然后再启动调试会话,否则将无法正常工作。 2.一定是源图的问题。在 Chrome 开发工具的 Sources 选项卡中,你能看到你的原始源文件(而不是转译的版本)吗?如果是,源映射可能没问题,您可以通过从开发工具复制文件 URL(Copy link address in script right-让IDE知道磁盘上的文件路径如何映射到浏览器中的URL -单击菜单)并在 javascript 调试运行配置中指定文件夹的 URL 映射

以上是关于如何强制 Rider 使用 Chrome 进行调试?的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 中调试时如何强制 Chrome 浏览器重新加载 .css 文件?

如何从 Rider 调试 WSL2 中的进程?

如何在 Rider 中调试类库项目

在 Rider IDE 中调试时重新加载 WPF XAML?

如何设置我的纬度和经度以使用 Google Chrome 调试 Geolocation API?

如何在 Jetbrains Rider 2018.1 中强制执行 LF 行结尾