mirror of
https://git.yoctoproject.org/poky
synced 2026-09-20 03:49:32 +02:00
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:
@@ -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
|
more load on the target system and can alter the characteristics of the
|
||||||
program being debugged.
|
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
|
gdbserver, which runs on the remote target and does not load any
|
||||||
debugging information from the debugged process. Instead, a GDB instance
|
debugging information from the debugged process. Instead, a GDB instance
|
||||||
processes the debugging information that is run on a remote computer -
|
processes the debugging information that is run on a remote computer -
|
||||||
|
|||||||
@@ -1565,6 +1565,12 @@ system and gives an overview of their function and contents.
|
|||||||
|
|
||||||
DEBIANNAME_${PN} = "dbus-1"
|
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`
|
:term:`DEBUG_BUILD`
|
||||||
Specifies to build packages with debugging information. This
|
Specifies to build packages with debugging information. This
|
||||||
influences the value of the ``SELECTED_OPTIMIZATION`` variable.
|
influences the value of the ``SELECTED_OPTIMIZATION`` variable.
|
||||||
|
|||||||
Reference in New Issue
Block a user