# 启动调试器会话

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

启动调试器会话与以正常模式运行程序非常相似。 调试器在后台附加，因此您无需配置任何特定内容即可开始调试会话。 如果您能够从 IntelliJ IDEA 运行您的程序，您也可以使用相同的配置对其进行调试。

> **Note:**
> 虽然 IntelliJ IDEA 提供了无需任何额外设置即可调试简单应用程序的方法，但某些任务需要使用 [运行/调试配置](run-debug-configuration.html)，就像常规运行程序一样。

每次调试程序时，调试器会基于一个 [run/debug configuration](run-debug-configuration.html)会话。 它允许您配置启动应用程序的参数和操作。 例如，您可以指定每次启动调试器会话时构建应用程序，或者使用之前编译的代码。 您还可以使用任何 VM 选项、自定义类路径值等（只要所选的运行/调试配置支持这些）。

Procedure:

* 要从入口点运行程序，例如   main()   方法或测试，请点击靠近它的边距中的   运行   ![运行图标](https://resources.jetbrains.com/help/img/idea/2026.3/app.runConfigurations.testState.run.svg) 图标，然后选择   调试  。

![点击装订区域栏中的运行按钮时会出现一个菜单](https://resources.jetbrains.com/help/img/idea/2026.3/debug_run_menu.png)

这将创建一个临时运行/调试配置。 之后，如果需要，您可以自定义并保存此临时配置。 这是在不配置启动参数的情况下调试程序的最快方法。

* 如果已有运行/调试配置，请在 [运行微件](guided-tour-around-the-user-interface.html#toolbar)中选择它，然后点击   调试   或按 `Shift+F9` (Windows), `⌃ D` (macOS), `⇧ F9` (IntelliJ IDEA Classic (macOS)), `⌥ ⇧ D` (macOS System Shortcuts), `Shift+F9` (XWin), `Shift+F9` (GNOME), `Shift+F9` (KDE), `Shift+F9` (Emacs), `Shift+F9` (Sublime Text), `⌃ D` (Sublime Text (macOS)), `Alt+F5` (Visual Studio), `⌥ F5` (Visual Studio (macOS)), `Ctrl+F5` (NetBeans), `Alt+Shift+D` (Eclipse), `⌘ F11` (Eclipse (macOS))。

![主工具栏上的运行小部件](https://resources.jetbrains.com/help/img/idea/2026.3/debug_configurations_menu.png)

* 要从编辑器为现有的运行/调试配置启动调试会话，请按 `Alt+Shift+F9` (Windows), `⌃ ⌥ D` (macOS), `⌥ ⇧ F9` (IntelliJ IDEA Classic (macOS)), `⌃ ⌥ D` (macOS System Shortcuts), `Alt+Shift+F9` (XWin), `Alt+Shift+F9` (GNOME), `Alt+Shift+F9` (KDE), `Alt+Shift+F9` (Emacs), `Alt+Shift+F9` (Sublime Text), `⌃ ⌥ D` (Sublime Text (macOS)), `Alt+Shift+F9` (Visual Studio), `⌃ ⌥ D` (Visual Studio (macOS)), `Alt+Shift+F9` (NetBeans), `Alt+Shift+F9` (Eclipse), `⌃ ⌥ D` (Eclipse (macOS))并从菜单中选择它。

![调试菜单允许您选择一个配置进行调试或编辑配置](https://resources.jetbrains.com/help/img/idea/2026.3/debug_select_configuration.png)

如果您正在调试基于框架的代码或运行在应用程序服务器上的代码，建议使用为此类应用程序设计的运行/调试配置类型。 当您启动调试会话时，IntelliJ IDEA 添加了允许调试器附加的 VM 选项。 鉴于特定框架可能会复刻进程，如果使用不正确的运行/调试配置类型，则无法保证目标进程会获得所需的虚拟机选项。
Procedure: 暂停/恢复调试器会话

当调试器会话正在运行时，您可以使用   调试  工具窗口工具栏上的按钮暂停/恢复它：

* 要暂停调试程序会话，请点击 ![暂停按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.pause.svg)。

* 要继续调试会话，请点击 ![“继续”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app.actions.resume.svg) `F9` (Windows), `⌘ ⌥ R` (macOS), `F9` (IntelliJ IDEA Classic (macOS)), `⌃ \` (macOS System Shortcuts), `F9` (XWin), `F9` (GNOME), `F9` (KDE), `F9` (Emacs), `F9` (Sublime Text), `F9` (Sublime Text (macOS)), `F5` (Visual Studio), `F5` (Visual Studio (macOS)), `F5` (NetBeans), `F8` (Eclipse), `F8` (Eclipse (macOS))。

> **Note:**
> 暂停程序并不能替代使用 [breakpoints](using-breakpoints.html)，因为这种方法无法让您使用调试器的全部功能。 例如，您无法在暂停程序后评估表达式。

Procedure: 重新启动调试器会话

* 请点击   重新运行   按钮，在   调试   工具窗口中，或按 `Ctrl+F5` (Windows), `⌘ R` (macOS), `⌃ F5` (IntelliJ IDEA Classic (macOS)), `⌘ R` (macOS System Shortcuts), `Ctrl+F5` (XWin), `Ctrl+F5` (GNOME), `Ctrl+5` (KDE), `Ctrl+F5` (Emacs), `Ctrl+F5` (Sublime Text), `⌘ R` (Sublime Text (macOS)), `Ctrl+Shift+F5` (Visual Studio), `⌥ ⇧ F5` (Visual Studio (macOS)), `Ctrl+F5` (NetBeans), `Ctrl+F11` (Eclipse), `Ctrl+F5` (Eclipse (macOS))。

![重新运行按钮](https://resources.jetbrains.com/help/img/idea/2026.3/debug_rerun.png)

Procedure: 查找调试会话的进程 ID (PID)

* 要查看当前正在调试的应用程序的 PID，请将鼠标悬停在   调试   工具窗口中对应的会话选项卡上。

![将鼠标悬停在调试工具窗口中的会话选项卡上时，会显示包含进程 ID 的工具提示](https://resources.jetbrains.com/help/img/idea/2026.3/ij_debug_show_pid.png)

此时会出现一个显示调试会话 PID 的工具提示。

Procedure: 终止调试器会话

* 点击 ![停止按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.run.stop.svg) 在   调试   工具窗口中。

或者，按 `Ctrl+F2` (Windows), `⌘ F2` (macOS), `⌘ F2` (IntelliJ IDEA Classic (macOS)), `⌃ ⇧ .` (macOS System Shortcuts), `Ctrl+F2` (XWin), `Ctrl+F2` (GNOME), `Ctrl+2` (KDE), `Ctrl+F2` (Emacs), `Ctrl+F2` (Sublime Text), `Ctrl+F2` (Sublime Text (macOS)), `Shift+F5` (Visual Studio), `⇧ F5` (Visual Studio (macOS)), `Shift+F5` (NetBeans), `Ctrl+F2` (Eclipse), `⌘ F2` (Eclipse (macOS)) 并选择要终止的进程（如果有两个或更多）。

![调试器工具栏上的停止按钮](https://resources.jetbrains.com/help/img/idea/2026.3/debug_stop_button.png)

##  调试多个任务 

Procedure:

* 要同时运行或调试多个任务，请打开工具栏中的运行微件菜单，并在按住 `Ctrl` (Windows), `Ctrl` (macOS), `Ctrl` (IntelliJ IDEA Classic (macOS)), `Ctrl` (macOS System Shortcuts), `Ctrl` (XWin), `Ctrl` (GNOME), `Ctrl` (KDE), `Ctrl` (Emacs), `Ctrl` (Sublime Text), `Ctrl` (Sublime Text (macOS)), `Ctrl` (Visual Studio), `Ctrl` (Visual Studio (macOS)), `Ctrl` (NetBeans), `Ctrl` (Eclipse), `Ctrl` (Eclipse (macOS)) 键的同时选择相应的运行/调试配置。

![%alt](https://resources.jetbrains.com/help/img/idea/2026.3/debug-multiple-rc.png)

要使用单个运行/调试配置启动多个任务，请参阅 [运行多个配置](run-debug-multiple.html)。

## 效率提示

调试无响应的应用程序
: 如果 [您的应用程序挂起](https://blog.jetbrains.com/idea/2021/10/unfreeze-your-apps/)，暂停会话并让调试器获取有关应用程序当前状态的信息可能会有所帮助。 然后，您可以使用此信息定位问题的原因。
:
:
:
: [Video](https://www.youtube.com/v/J1xLWRsnEf0)

运行启动前任务
: 您可以配置外部工具或自定义操作以在调试会话之前运行。 例如，  before-launch  操作包括运行 [Gulp](using-gulp-task-runner.html#ws_gulp_task_before_launch)、 [Grunt](using-grunt-task-runner.html#ws_grunt_task_before_launch) 或 [NPM](installing-and-removing-external-software-using-node-package-manager.html#ws_npm_run_as_before_launch_task) 脚本， [将 TypeScript 代码编译为 JavaScript](running-and-debugging-typescript.html#ws_ts_compile)，运行所有当前活动的 [File Watchers](using-file-watchers.html) 以编译或压缩代码， [将源代码上传](uploading-and-downloading-files.html)到远程服务器，以及更多操作，具体取决于您使用的语言和框架。

