# Core dump debug

> **TL;DR**
> OS: macOS / Linux / Windows
>
>
>
> Debugger: bundled LLDB / bundled GDB / toolchain's GDB / custom GDB

CLion supports postmortem debug with [core dump](https://en.wikipedia.org/wiki/Core_dump) (macOS, Linux) and [minidump](https://docs.microsoft.com/en-us/troubleshoot/windows-client/performance/read-small-memory-dump-file) (Windows) files. These files are copies of process memory captured by the system at the point the program crashed or otherwise terminated abnormally.

Since the only available data is a memory snapshot for the time of a crash, [stepping through](stepping-through-the-program.html) the program is not possible, but you can investigate the corresponding source code, frames, and variables. [Memory view](memory-view.html), [disassembly view](disassembly-view.html), and [debugger console](debugger-console.html) can be used as well.

Procedure: Configure a core dump debug session

1. Use one of the options:

1.

Select `Run | Open Core Dump` from the main menu or call this action from `Help | Find Action` (`Ctrl+Shift+A` (Windows), `⌘ ⇧ A` (macOS), `⌘ ⇧ A` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ P` (macOS System Shortcuts), `Ctrl+Shift+A` (XWin), `Ctrl+Shift+A` (GNOME), `Ctrl+Shift+A` (KDE), `Escape, X` (Emacs), `Ctrl+Shift+P` (Sublime Text), `⌘ ⇧ P` (Sublime Text (macOS)), `⌘ ⇧ A` (Xcode), `Ctrl+Shift+A` (Visual Studio), `⌘ ⇧ A` (Visual Studio (macOS)), `Ctrl+Shift+A` (ReSharper), `⌘ ⇧ A` (ReSharper (macOS)), `Ctrl+Shift+A` (QtCreator), `⌘ ⇧ A` (QtCreator (macOS)), `Ctrl+I` (NetBeans), `Ctrl+Shift+A` (Eclipse), `⌘ 3` (Eclipse (macOS))).

If there are no [Core Dump Debug configurations](core-dump-debug-configuration.html) in the project, the Open Core Dump dialog will be shown right away. Otherwise, select New Core Dump from the popup menu.

![The Open Core Dump dialog](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debugcoredump_settingsdialog.png)

Follow the instructions in step 2.

2. Create a Core Dump Debug configuration manually. Go to Run | Edit Configurations, click ![](https://resources.jetbrains.com/help/img/idea/2026.2/app.expui.general.add.svg), and select  [Core Dump Debug](core-dump-debug-configuration.html) from the list of templates.

![Core Dump Debug configuration](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debugcoredump_settingsconfig.png)

2. Configure the following settings:

* Debugger Select the [debugger](configuring-debugger-options.html) to be used: bundled LLDB, bundled GDB, toolchain's GDB, or a custom external GDB. Default debuggers are the bundled LLDB if the default toolchain is configured with LLDB, and the bundled GDB in all other cases. > **Note:** > Windows minidumps can't be debugged with GDB. The option to select GDB as the debugger is for the case of opening a Linux/macOS core dump file on Windows.

* Core dump Provide the path to the core dump file or select it using the file chooser. Make sure the file has read access permission. > **Tip:** > On Windows, core dumps are stored in the `%LOCALAPPDATA%\CrashDumps` directory. See [Collecting User-Mode Dumps](https://docs.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps) in the official documentation.

* Symbol file (optional for LLDB, required for GDB) Symbol file is required for CLion to identify the program symbols correctly and navigate you to the proper source code locations. This can be a program's binary build with debug information or a separate symbol file. Note that symbols from the linked libraries built without debug info will be available only if related debug symbols are located in default search directories. > **Tip:** > If you are debugging a shared object library, avoid specifying the `.so` file as a symbol file. With `.so` as a symbol file, the debugger resolves the source location to two places: one to the actual address in memory, and the other to a file address within the `.so` file, which is not a valid memory address. As a result, stepping and other debugging actions do not work correctly. LLDB: LLDB can detect the binary that corresponds to the selected core dump. However, if the crash you investigate happened in a binary without debug symbols, you need to provide them to LLDB explicitly. For this, specify the path to a non-stripped version of the binary or a separate symbol file. GDB: For GDB, it's required that you specify a non-stripped binary or a separate symbol file manually.

* Sysroot Specify the `sysroot` path if you are debugging a core dump from the binary build on another system with libraries in a non-default location.

* Path mappings Use this pane to set path mappings if the binary was built on another machine with different file/directory names or paths.

Procedure: Launch a core dump session

* For the Open Core Dump action, CLion creates the corresponding configuration and launches it automatically.

If you call Open Core Dump when there are existing configurations in the project, it will open the list of them with the option to create a new one:

![The Open Core Dump popup](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debugcoredump_popup.png)

* If you created a Core Dump Debug configuration manually, select it in the switcher and press ![](https://resources.jetbrains.com/help/img/idea/2026.2/app.actions.startDebugger.svg) (`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)), `⌘ R` (Xcode), `Alt+F5` (Visual Studio), `⌥ F5` (Visual Studio (macOS)), `Alt+F5` (ReSharper), `⌥ F5` (ReSharper (macOS)), `F5` (QtCreator), `⌘ Y` (QtCreator (macOS)), `Ctrl+F5` (NetBeans), `Alt+Shift+D` (Eclipse), `⌘ F11` (Eclipse (macOS))).

## Core dump debug process

When you start a core dump debug session, CLion opens the corresponding source code and the [Debug tool window](debug-tool-window.html) automatically. Similarly to a regular debug session, you can use the Frames tab and the Variables pane, as well as [Memory](memory-view.html) and [Disassembly](disassembly-view.html) view. [Debugger console](debugger-console.html) for running debugger commands is also available.

> **Note:**
> Note that [stepping](stepping-through-the-program.html) is disabled and the Console tab with process output is hidden.

![Core dump debugging](https://resources.jetbrains.com/help/img/idea/2026.2/cl_debugcoredump_process.png)

## Current issues and limitations

* Remote core dump debugging is currently in development ([CPP-22656](https://youtrack.jetbrains.com/issue/CPP-22656), [CPP-24333](https://youtrack.jetbrains.com/issue/CPP-24333)).

* On macOS, bundled GDB might fail to start with the No core file handler recognizes format error, which is a [known issue](https://sourceware.org/legacy-ml/gdb/2014-01/msg00035.html) with GDB on macOS.

* [Evaluate expression](examining-suspended-program.html#evaluating-expressions) functionality can be limited.

## See also

### Procedures

[Debugging](debugging-code.html)

### Reference

[Run/Debug Configuration: Core Dump Debug](core-dump-debug-configuration.html)

### External Links

[CLion Debugging Beyond the Basics - Part 3 - Beyond Local](https://blog.jetbrains.com/clion/2021/05/clion-debugging-beyond-the-basics-part-3-beyond-local)

