diff --git a/documentation/dev-manual/debugging.rst b/documentation/dev-manual/debugging.rst index bd1e716b0b..834eade766 100644 --- a/documentation/dev-manual/debugging.rst +++ b/documentation/dev-manual/debugging.rst @@ -1173,6 +1173,21 @@ To support this kind of debugging, you need do the following: Consider that this will reduce the application's performance and is recommended only for debugging purposes. +Enabling Minidebuginfo +====================== + +Enabling the :term:`DISTRO_FEATURES` minidebuginfo adds a compressed ELF section ``.gnu_debugdata`` +to all binary files, containing only function names, and thus increasing the size of the +binaries only by 5 to 10%. For comparison, full debug symbols can be 10 times as big as +a stripped binary, and it is thus not always possible to deploy full debug symbols. +Minidebuginfo data allows, on the one side, to retrieve a call-stack using +GDB (command backtrace) without deploying full debug symbols to the target. It also +allows to retrieve a symbolicated call-stack when using ``systemd-coredump`` to manage +coredumps (commands ``coredumpctl list`` and ``coredumpctl info``). + +This feature was created by Fedora, see https://fedoraproject.org/wiki/Features/MiniDebugInfo for +more details. + Other Debugging Tips ==================== diff --git a/documentation/ref-manual/features.rst b/documentation/ref-manual/features.rst index dd14339bc2..b9d3b30f18 100644 --- a/documentation/ref-manual/features.rst +++ b/documentation/ref-manual/features.rst @@ -161,6 +161,9 @@ metadata, as extra layers can define their own: - *keyboard:* Include keyboard support (e.g. keymaps will be loaded during boot). +- *minidebuginfo:* Add minimal debug symbols :ref:`(minidebuginfo)` + to binary files containing, allowing ``coredumpctl`` and ``gdb`` to show symbolicated stack traces. + - *multiarch:* Enable building applications with multiple architecture support.