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

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

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

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

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

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

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

【问题讨论】:

    标签: debugging gulp jetbrains-ide rider spfx


    【解决方案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 映射
    猜你喜欢
    • 1970-01-01
    • 2015-07-18
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2016-04-27
    • 1970-01-01
    相关资源
    最近更新 更多