CLion 2025.2 Help

在 Chrome 中调试 JavaScript

CLion 为您的 client-side JavaScript 代码提供内置调试器。

在开始之前

  1. 请确保设置中启用了 JavaScript and TypeScript 捆绑插件。 按 Ctrl+Alt+S 打开设置,然后选择 插件。 点击 已安装 选项卡。 在搜索字段中,键入 JavaScript and TypeScript。 有关插件的更多信息,请参阅 插件管理

  2. 请确保设置中启用了 JavaScript Debugger 捆绑插件。 按下 Ctrl+Alt+S 打开设置,然后选择 插件。 点击 已安装 选项卡。 在搜索字段中,输入 JavaScript Debugger。 有关插件的更多信息,请参阅 插件管理

  3. 按照 配置 JavaScript 调试器 中的描述配置内置调试器。

    为了让您对 HTML、CSS 或 JavaScript 代码所做的更改在不重新加载页面的情况下立即显示在浏览器中,请激活 Live Edit功能。 有关实时编辑功能的更多信息,请参阅 在 HTML、CSS 和 JavaScript 中实时编辑

调试正在内置服务器上运行的应用程序

CLion 具有内置的 Web 服务器,可用于在 Web 浏览器中调试您的应用程序或在 CLion 内置浏览器中预览您的代码。 此服务器始终运行,不需要任何手动配置。

开始调试

  1. 在 JavaScript 代码中设置 断点 ,根据需要。

  2. 打开引用 JavaScript 进行调试的 HTML 文件或在 项目工具窗口中选择 HTML 文件。

  3. 从编辑器或选定内容的上下文菜单中选择 调试 <HTML_file_name>。 CLion 生成调试配置,并通过它启动调试会话。 文件将在浏览器中打开,并且 调试工具窗口 会出现。

  4. 在打开的 Debug 工具窗口中,按常规操作: 逐步执行程序停止并恢复 程序执行、 在暂停时检查程序 ,探索调用堆栈和变量,设置监视,评估变量, 查看实际的 HTML DOM 等。

示例

假设您有一个简单的应用程序,其中包含一个 index.html 文件和一个 index.js 文件,其中 index.html 引用 index.js

要使用内置服务器开始调试此应用程序,请在 index .js 中设置断点,在编辑器中打开 index .html ,然后从上下文菜单中选择 调试 'index.html'

从编辑器开始调试会话

CLion 会自动创建一个 运行/调试配置 ,然后调试会话开始。

调试会话开始,应用程序在浏览器中打开

要重新启动新的运行/调试配置,请从列表中选择它,然后点击 调试按钮

重新启动调试会话

在浏览器中重新加载当前页面

除了通过点击 重新运行 按钮(重新运行按钮 )在 Debug 工具窗口中重新启动您的应用程序,您还可以使用 在浏览器中重新加载 操作重新加载您当前导航到的页面。 这与 Chrome 中的 重新加载页面功能(Ctrl+R )的工作方式相同。

  • 要重新加载当前页面,请点击工具栏上的 更多图标 并选择 在浏览器中重新加载 (在浏览器中重新加载)。

    在浏览器中重新加载操作

下面的示例展示了一个由两个 HTML 页面和一个 JavaScript 脚本组成的简单应用程序。 起始 home.html 页面上有一个 提交 按钮,点击该按钮后, calculator.html 页面将打开,显示 Calculator.js 脚本执行的结果。

调试会话期间,点击 重新运行 按钮(重新运行按钮 )将使用 提交 按钮重新加载 home.html 页面。 点击 在浏览器中重新加载 按钮(“浏览器中重新加载”按钮 )会重新加载 calculator.html 页面,从而清除所有先前的脚本输出,并且调试器返回到 Calculator.js 的第 1 行。

在浏览器中重新加载当前页面

调试运行在开发模式下 localhost 上的应用程序

如果您的应用程序在 localhost 的开发模式下运行,您可以从内置的 终端Alt+F12 ),从 运行工具窗口或从 调试工具窗口开始调试。 只需按住 Ctrl+Shift 并点击应用程序正在运行的 URL。

  1. 在您的代码中设置 breakpoints

  2. 在开发模式下启动应用程序,例如,使用 npm 脚本。

  3. 运行 工具窗口或 终端 显示您的应用程序正在运行的 URL。 按住 Ctrl+Shift 并点击此 URL 链接。 CLion 启动带有 类型 JavaScript Debug的自动生成配置的调试会话。

    新终端:在浏览器中开始调试按钮

调试运行在远程 Web 服务器上的应用程序

您可能经常需要调试在外部开发 Web 服务器上运行的应用程序的客户端 JavaScript。

什么是远程 Web 服务器?

在 CLion 中,任何 document root 位于当前项目之外的服务器都称为 remote。 该服务器可能实际上运行在物理远程主机或您的机器上。

例如,如果您的项目位于 C:/CLionProjects/MyProject ,而网络服务器文档根目录是 C:/XAMPP/htdocs ,那么对于 CLion 来说,该网络服务器就是 remote

如何将服务器上的应用程序源代码与我的 CLion 项目中的本地副本同步?

远程 Web 服务器上调试应用程序时,您需要在 一个 CLion 项目中拥有其源代码的副本。 要同步本地和远程源,请创建 部署配置 ,如 远程服务器配置与 Web 服务器同步 中所述。

在远程 Web 服务器上调试应用程序

  1. 在 JavaScript 代码中设置 断点 ,根据需要。

  2. 创建一个 JavaScript 调试 类型的运行/调试配置:

    转到 运行 | 编辑配置 ,然后在 编辑配置 对话框中,在打开的 编辑配置 对话框中,点击工具栏上的 添加 按钮(添加按钮 ),并从列表中选择 JavaScript 调试

  3. 运行/调试配置:JavaScript 调试对话框中,指定应用程序运行的 URL 地址。 此 URL 地址应根据 服务器访问配置 ,将 Web 服务器根 URL 与 HTML 文件相对于 web 服务器文档根目录的路径连接起来。 如需更多信息,请参阅 与 Web 服务器同步

    点击 确定 保存配置设置。

  4. 在工具栏上的 选择运行/调试配置 列表中选择新创建的配置,然后点击 Debug 按钮 启动调试器。 在运行配置中指定的 HTML 文件会在选择的浏览器中打开,并会显示 Debug 工具窗口

  5. 在打开的 Debug 工具窗口中,按常规操作: 逐步执行程序停止并恢复 程序执行、 在暂停时检查程序 ,探索调用堆栈和变量,设置监视,评估变量, 查看实际的 HTML DOM 等。

示例:无需映射进行调试

假设您有一个简单的应用程序,它由一个 index.html 文件和一个 App.js 文件组成,其中 index.html 引用 App.js

  1. 现在让我们将简单的应用程序部署到本地 Web 服务器,参阅 部署。 在以下示例中,它是 Apache:

    在外部 Web 服务器上调试 JavaScript:远程主机上的已上传源码
  2. 当使用本地 Web 服务器,例如 Nginx 或 Apache(如本例所示),或者 Web 服务器在远程主机上时,您需要创建一个 Run/Debug 配置来启动 JavaScript 调试器。 要执行该操作,请点击 CLion 窗口右上角的列表,然后选择 编辑配置。 或者,从主菜单中选择 运行 | 编辑配置

    在外部 web 服务器上调试 JavaScript:打开 编辑配置 对话框

    运行/调试配置 对话框中,点击 并从列表中选择 JavaScript 调试

    创建 JavaScript 调试配置

    指定您正在运行的应用程序的 URL,在我们的示例中是 http://localhost:8888/MySimpleApp/index.html

    运行您的应用程序的 URL

    在我们的示例中,本地项目结构与服务器上的文件结构相同,因此不需要映射。

  3. 现在我们可以开始调试了:从 CLion 窗口右上角的列表中选择新的运行/调试配置,然后点击 调试按钮:

    编辑器、主菜单和工具栏

    在打开的 Debug 工具窗口中,按常规操作: 逐步执行程序停止并恢复 程序执行、 在暂停时检查程序 ,探索调用堆栈和变量,设置监视,评估变量, 查看实际的 HTML DOM 等。

映射

Mappings 设定了 Web 服务器上的文件与其本地副本之间的对应关系。 您需要 mappings:

  • 当您的应用程序部署并在 remote Web 服务器上运行时。

  • 当您定义了多个资源根文件夹(除了项目根目录之外)。

CLion 尝试根据 部署配置 或基于文件和脚本名称及内容来猜测路径映射。 但是,如果您的应用程序结构复杂,则需要手动指定路径映射。

配置映射

  1. 创建一种类型为 JavaScript Debug 的调试配置,如在 调试应用程序 中所述。

  2. 本地文件的远程URL 区域中,根据当前使用的 部署配置 ,将文件和文件夹映射到服务器上文件和文件夹的 URL 地址,请参阅 将本地文件夹映射到服务器上的文件夹并访问它们的 URL 地址

示例:启动调试 (mapping)

假设由于某种原因,您决定更改应用程序的文件夹结构,将 前一个示例中的 index.html App.js 移动到一个单独的文件夹 源代码

本地文件夹的结构与远程 Web 服务器上的文件夹结构不同

由于本地源代码与网页服务器上的应用程序结构不同,调试器将无法将本地源代码与实际执行的代码同步。

为了解决这个问题,让我们将应用程序根目录的 URL 地址映射到 源代码 文件夹。

  1. 开始创建运行/调试配置 如上所述

  2. 运行/调试配置 对话框中,点击 本地文件的远程URL 区域。

  3. 在打开的对话框中,选择 源代码 文件夹下的 MySimpleApp

  4. 远程 URL 字段中,输入应用程序的 URL 地址,我们的示例中是 http://localhost:8888/MySimpleApp

    URL 映射
  5. 保存运行/调试配置并按照 上述说明启动。

如需更多调试示例,请参考 WebStorm 博客中的以下文章: 调试 React 应用程序调试 Angular 应用程序

调试异步代码

CLion 支持调试异步客户端 JavaScript 代码。 CLion 能识别异步代码中的断点,停在断点处,并允许您逐步进入此类代码。 一旦异步函数中的断点被触发,或者您进入异步代码, Async call from <caller> 会在 窗口 面板的 调试器 选项卡中添加一个新元素。 CLion 显示完整的调用堆栈,包括调用者和到异步动作开始的整个过程。

调试异步 JavaScript 代码

在上面的示例中,调试器会在第 3 行(断点)处停止,然后在第 5 行(断点)处停止。 点击 逐步进入 时,调试器将在 line5 处(在 function 上)停止,然后移至 line6。

默认情况下启用异步调试模式。 若要禁用异步堆栈跟踪,请在 Registry 中设置 js.debugger.async.call.stack.depth0

调试 workers

CLion 支持调试 Service WorkersWeb Workers。 CLion 会识别每个 worker 中的断点,并在 调试工具窗口调试器 选项卡的 窗格中将其作为单独的线程显示调试数据。

请注意,CLion 只能调试 专用工作者 ,目前不支持调试 共享工作者

  1. 断点中设置 Workers进行调试。

  2. 如果您正在使用 Service Workers ,请确保在 允许未签名请求 复选框选中 设置| 构建、执行、部署 | 调试器调试器页面上。 否则,您的 service workers 可能在调试会话期间不可用。

  3. 如上所述,在 JavaScript Debug类型中创建一个调试配置,见 调试在外部 Web 服务器上运行的客户端 JavaScript

  4. 从工具栏的 运行 小部件列表中,选择新创建的 配置,然后点击旁边的 调试按钮

    运行配置中指定的 HTML 文件将在浏览器中打开,并且 调试工具窗口会打开,其中显示了 窗口 所有可用 Workers的列表:

    调试 Service Workers

    要检查 Worker 的数据(变量、watches 等),请选择列表中的线程并在 变量监视 窗格中查看其数据。 当您选择另一个 Worker时,窗格的内容会相应更新。

调试 Chrome 扩展

您可以在 CLion 中使用 Attach to Node.js/Chrome 类型的运行/调试配置调试 Chrome 扩展。 请注意,您需要使用 自定义 Chrome 用户数据配置文件 启动 Chrome,了解更多信息请参阅 使用您偏好的 Chrome 用户数据启动调试会话

创建 Attach to Node.js/Chrome 运行/调试配置

  1. 转到 运行 | 编辑配置。 或者,从工具栏的 运行 小部件中选择 编辑配置

    打开编辑配置对话框

    在打开的 编辑配置 对话框中,点击工具栏上的 添加 按钮(添加按钮 ),然后从列表中选择 附加到 Node.js/Chrome

    选择“Attach to Node.js /Chrome”配置类型

    运行/调试配置:附加到 Node.js/Chrome 对话框打开。

  2. 指定配置名称并接受预定义的主机和端口值 localhost:9229

    创建 Attach to Node.js/Chrome 运行/调试配置
  3. 点击 Apply确定 以保存配置并退出对话框。

运行 Chrome 并加载扩展

  1. 从命令行运行 Chrome 以指定远程调试端口和 您的 Chrome 用户数据目录

    打开嵌入式 终端Alt+F12 )并输入:

    <path_to_chrome_executable> --remote-debugging-port=<port_specified_in_run_configuration> --user-data-dir=<your_Chrome_user_data_directory>
  2. 加载您的未打包扩展 到打开的 Chrome 窗口中。

开始调试

  1. 设置断点 所需的位置。

  2. 从工具栏的 运行 小部件列表中,选择新创建的 附加到 Node.js/Chrome 配置,然后点击旁边的 调试按钮

    选择 Attach to Node.js/Chrome 配置

    调试工具窗口打开。

  3. 转到加载了扩展的 Chrome 标签页。

  4. 切换到 CLion。 在 调试 工具窗口中, 逐步执行断点 ,切换帧,动态更改值, 检查挂起的程序评估表达式 ,并 设置监视

最后修改日期: 2025年 9月 26日