# Debug profiles

> **TL;DR**
> OS: Windows, Linux, macOS

A debug profile defines how CLion debugs your application: which debugger to use and how it is configured. A profile is reusable and independent of the [toolchain](how-to-create-toolchain-in-clion.html), so you can change the debugger without changing how your project is built.

Each debug profile is separate from the CMake profile and the run/debug configuration:

* The [CMake profile](cmake-profile.html) (and its toolchain) defines how your project is built.

* The [run/debug configuration](run-debug-configuration.html) defines what to run: the target, program arguments, and environment.

* The debug profile defines how to debug it: the debugger and its options.

You select the active CMake profile and the active debug profile separately in the main toolbar, so you can pair any build with any compatible debugger.

![CLion toolbar profile switcher open, with CMake Profiles set to Debug and Debug Profiles set to the active LLDB profile.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_profiles_switcher_popup.png)

> **Note:**
> Debug profiles are available starting from CLion 2026.2 and replace the earlier, separate debugger settings: the debugger set in the toolchain, the [DAP Debuggers](dap-support.html) page, and the [Debug Servers](debug-servers.html) page. When you open a project created in an earlier version, CLion converts these settings into debug profiles automatically. For more information, refer to [Migration from earlier versions](#migration) below.

## Debug profile types

CLion groups the available debugger types into two categories.

General-purpose debuggers:

* [GDB](https://www.gnu.org/software/gdb)

* [LLDB](https://lldb.llvm.org)

* Debuggers that support the [Debug Adapter Protocol (DAP)](dap-support.html)

Debuggers for embedded development:

* GDB Server (a generic `gdbserver` profile)

* [SEGGER J-Link](https://www.segger.com/products/debug-probes/j-link/)

* ST-LINK for [STM32CubeMX](embedded-stm32.html) projects

* ESP-IDF for [ESP-IDF](esp-idf.html) projects

On macOS running on Apple Silicon, a Rosetta GDB profile is also available for debugging x86 targets on the `aarch64` host.

## Open the Debug Profiles settings

Go to `Settings | Build, Execution, Deployment | Debugger | Debug Profiles`.

![Debug Profiles settings page listing a GDB profile, with tiles to create embedded and general-purpose debugger profiles.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debug_profiles_settings.png)

The list on the left shows the existing profiles. The tiles on the right create a new profile of the selected type. CLion detects a default profile for your platform, so the list is not empty on the first run: for example, a GDB profile on Linux or an LLDB profile on macOS.

Procedure: Create a debug profile

1. Click the tile of the debugger type you need under General-purpose debuggers or Debuggers for embedded development. CLion adds a new profile of that type to the list.

![Debug profile creation tiles for embedded debuggers ESP-IDF, SEGGER J-Link, ST-LINK, GDB Server and general-purpose DAP, GDB, LLDB.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debug_profile_create.png)

2. Configure the profile fields, then click OK.

## Configure a general-purpose profile

A GDB or LLDB profile exposes the following fields:

![CLion Debug Profiles settings with a GDB profile showing Name, Executable, and Advanced fields, plus storage options.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debug_profile_gdb.png)

Name
: The profile name shown in the list and in the toolbar switcher.

Executable
: The path to the debugger binary. Leave this field empty to use the bundled GDB or LLDB if available, or the debugger from the `PATH`. On a remote, Docker, or WSL toolchain, CLion resolves the debugger from that environment.

Advanced
: Type-specific options applied to the debug session. For a DAP profile, use the Launch and Attach tabs to provide the adapter configuration as JSON.

> **Note:**
> The Executable field is not available for LLDB on Windows, where CLion uses the bundled LLDB.

## Select the active debug profile

Select the active profile from the debug profile switcher in the main toolbar. The switcher shows the current profile as Debug | <profile> and sits next to the run/debug configuration chooser.

![CLion toolbar profile switcher open, with CMake Profiles set to Debug and Debug Profiles set to the active LLDB profile.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_profiles_switcher_popup.png)

When your project has several CMake profiles, the switcher shows a separate group for CMake profiles and a group for debug profiles. Select one profile from each group: the CMake profile defines the build, and the debug profile defines the debugger. Each group also provides a link to the corresponding settings page.

The debug profile applies to the next debug session you start with ![](https://resources.jetbrains.com/help/img/idea/2026.2/app.actions.startDebugger.svg). Running the application with ![](https://resources.jetbrains.com/help/img/idea/2026.2/app.actions.execute.svg) does not require a debug profile.

## Share a debug profile

By default, a profile is stored in your project. You can change where a profile is stored with two options in the profile settings: Available for all projects and Share.

![GDB debug profile with Available for all projects cleared and Share selected to store the profile in version control.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debug_profile_share.png)

Available for all projects
: Store the profile in the IDE settings and make it usable in every project you open.

Share
: Store the profile in the `.idea/debug-profiles.xml` file so that you can commit it to [version control](version-control-integration.html) and share it with your team.

You can use only one of these options at a time: Share is available only while Available for all projects is cleared.

## Supported run/debug configurations

You can use debug profiles with the following run/debug configurations:

* [CMake Application](run-debug-configuration-application.html)

* [Native Application](run-debug-configuration-makefile-application.html)

* [Remote Debug](remote-debug.html)

* [Core Dump Debug](core-dump-debug-configuration.html)

* C/C++ File

When you [attach to a process](attach-to-process.html), the dialog lists the debug profiles that are compatible with the selected host.

## Migration from earlier versions

When you open a project created in CLion 2026.1 or earlier, CLion converts the existing debugger settings into debug profiles once. The conversion covers:

* Debuggers set in the toolchain and DAP debuggers, converted into profiles available for all projects.

* Custom debuggers used in the Remote Debug and Core Dump Debug configurations, converted into project profiles.

* Configured debug servers, converted into project profiles.

The conversion runs only on the first project open and is not repeated afterward, so your profiles are ready to use without extra setup.

## Debugger set in the toolchain

The Debugger field in `Settings | Build, Execution, Deployment | Toolchains` is deprecated in favor of debug profiles.

![CLion Toolchains settings with a notice that the toolchain Debugger field is deprecated in favor of Debug Profiles.](https://resources.jetbrains.com/help/img/idea/2026.2/cl_toolchain_debugger.png)

When you start a debug session, CLion uses the selected debug profile instead of the toolchain debugger.

## See also

### Related

[Debugger options](configuring-debugger-options.html) [Debug servers](debug-servers.html) [Debug Adapter Protocol (DAP)](dap-support.html) [Start a debug session](starting-the-debugger-session.html)

### How tos

[CMake profiles](cmake-profile.html) [Toolchains](how-to-create-toolchain-in-clion.html)

