TeamCity On-Premises 2024.03 Help

远程调试

远程调试是一项功能,允许您在本地开发者机器的IDE上远程调试在TeamCity代理机器上的测试。 当代理环境在某些方面独特,导致测试失败,并且在本地难以复现问题时,此功能将非常有用。

启用了 IntelliJ-based IDEs 的 TeamCity 集成 后,可以直接从 IntelliJ IDEA 启动基于 IntelliJ IDEA 项目和 Ant 构建步骤的构建的远程调试会话。

目前,支持以下的 IntelliJ IDEA 运行配置:

  • Java 应用程序运行配置

  • JUnit 运行配置

  • TestNG 运行配置

Ant 步骤的远程调试要求构建配置具有 teamcity.remote-debug.ant.supported=true 参数

前提条件

远程调试测试

  1. 要开始远程调试测试,选择测试并从上下文菜单中选择 在 TeamCity 代理 上远程调试 <测试名称> 选项(远程调试 功能也可以在 TeamCity 插件菜单中找到。 此操作将要求您选择一个 IntelliJ IDEA 运行配置。

  2. 一旦您做了这个,TeamCity 插件将要求您选择一个构建配置,您希望在其中开始调试会话。 这个过程与启动个人构建类似。 例如,如果有个人更改,将创建一个个人补丁并发送给代理。 同样,由于过程基本相同,当您选择构建配置时,您可以指定代理,自定义属性等等。

    remote_debug_conf_selected.png
  3. 如果所选配置包含多个 IntelliJ IDEA 项目构建步骤,插件将让您选择在哪些构建步骤开始调试会话。

    remote_debug_step_selected.png
  4. 在此之后,构建将被添加到队列中,标准的 IntelliJ IDEA 调试工具窗口将会出现:

    remote_debug_tool_window.png

    调试工具窗口工作在监听模式,即它在等待代理连接至它。 一旦代理连接,代理上的 Java 进程将暂停,且在 IDE 中会出现 Agent Attached 通知:

    agent_attached_popup.png
  5. 现在我们可以设置一些断点,然后通过点击通知弹出窗口或调试工具窗口中的 开始 实际开始调试会话。
    一旦 JVM 进程退出,IDE中会出现另一个通知弹出窗口:

    repeat_debug_notification.png

    调试会话尚未结束,您可以选择重新开始或结束它。 选择 Repeat 将会重新运行相同的构建步骤,这比启动新的调试会话要快得多。

最后修改日期: 16日 7月 2024年