dev-manual/common-task.rst: Added documentation for debuginfod support

Added documentation on running debuginfod server and using it on the target.
Added the term DEBUGINFOD_URLS definition in ref-manual/variables.rst

(From yocto-docs rev: a16ae140e26482c81ce733f20f8c68c6eba55f35)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dorinda 2021-03-02 18:06:51 +01:00 committed by Richard Purdie
parent 2d80d02edb
commit 6c9829385e
2 changed files with 52 additions and 1 deletions

View File

@ -10023,7 +10023,52 @@ before starting the debugging process. These extra computations place
more load on the target system and can alter the characteristics of the
program being debugged.
To help get past the previously mentioned constraints, you can use
To help get past the previously mentioned constraints, there are two
methods you can use: running a debuginfod server and using gdbserver.
Using the debuginfod server method
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"debuginfod" from "elfutils" is a way to distribute "debuginfo" files.
Running a "debuginfod" server makes debug symbols readily available,
which means you don't need to download debugging information
and the binaries of the process being debugged. You can just fetch
debug symbols from the server.
To run a debuginfod server, you need to do the following:
- Ensure that this variable is set in your ``local.conf`` file:
::
PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod"
This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for
"elfutils-native".
- Run the following commands to set up the "debuginfod" server:
::
$ oe-debuginfod
To use debuginfod on the target, you need the following:
- Ensure that this variable is set in your ``local.conf`` file:
::
DEBUGINFOD_URLS = "http://localhost:8002/"
This :term:`DEBUGINFOD_URLS` option does the client configuration.
::
PACKAGECONFIG_pn-gdb = "debuginfod"
This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb".
Using the gdbserver method
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gdbserver, which runs on the remote target and does not load any
debugging information from the debugged process. Instead, a GDB instance
processes the debugging information that is run on a remote computer -

View File

@ -1565,6 +1565,12 @@ system and gives an overview of their function and contents.
DEBIANNAME_${PN} = "dbus-1"
:term:`DEBUGINFOD_URLS`
Points to the URL of the "debuginfod" server. Such that for every
debugging information lookup, the debuginfod client will query the
server and return the requested information. You set this variable
in your ``local.conf`` file.
:term:`DEBUG_BUILD`
Specifies to build packages with debugging information. This
influences the value of the ``SELECTED_OPTIMIZATION`` variable.