mirror of
https://git.yoctoproject.org/poky
synced 2026-04-29 00:32:14 +02:00
dev-manual/common-tasks.rst: correct the documentation for debuginfod
Particularly, - correctly describe the use of DEBUGINFOD_URLS; drop it from bitbake variables - all necessary component tweaks are enabled by default via DISTRO_FEATURES - provide on-target examples of what to look for when things work properly (From yocto-docs rev: 6d5d568d427b22675b999f94ead829ab1bef0b21) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Reviewed-by: Quentin Schulz <foss@0leil.net> Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f353ba0ec2
commit
e1ebdcff7c
@@ -9705,39 +9705,47 @@ 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,
|
||||
``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:
|
||||
To run a ``debuginfod`` server, you need to do the following:
|
||||
|
||||
- Ensure that this variable is set in your ``local.conf`` file::
|
||||
- Ensure that ``debuginfod`` is present in :term:`DISTRO_FEATURES`
|
||||
(it already is in ``OpenEmbedded-core`` defaults and ``poky`` reference distribution).
|
||||
If not, set in your distro config file or in ``local.conf``::
|
||||
|
||||
PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod"
|
||||
DISTRO_FEATURES_append = " debuginfod"
|
||||
|
||||
This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for
|
||||
"elfutils-native".
|
||||
This distro feature enables the server and client library in ``elfutils``,
|
||||
and enables ``debuginfod`` support in clients (at the moment, ``gdb`` and ``binutils``).
|
||||
|
||||
- Run the following commands to set up the "debuginfod" server::
|
||||
- Run the following commands to launch the ``debuginfod`` server on the host::
|
||||
|
||||
$ oe-debuginfod
|
||||
|
||||
- To use ``debuginfod`` on the target, you need to know the ip:port where
|
||||
``debuginfod`` is listening on the host (port defaults to 8002), and export
|
||||
that into the shell environment, for example in ``qemu``::
|
||||
|
||||
To use debuginfod on the target, you need the following:
|
||||
root@qemux86-64:~# export DEBUGINFOD_URLS="http://192.168.7.1:8002/"
|
||||
|
||||
- Ensure that this variable is set in your ``local.conf`` file::
|
||||
- Then debug info fetching should simply work when running the target ``gdb``,
|
||||
``readelf`` or ``objdump``, for example::
|
||||
|
||||
DEBUGINFOD_URLS = "http://localhost:8002/"
|
||||
root@qemux86-64:~# gdb /bin/cat
|
||||
...
|
||||
Reading symbols from /bin/cat...
|
||||
Downloading separate debug info for /bin/cat...
|
||||
Reading symbols from /home/root/.cache/debuginfod_client/923dc4780cfbc545850c616bffa884b6b5eaf322/debuginfo...
|
||||
|
||||
This :term:`DEBUGINFOD_URLS` option does the client configuration.
|
||||
- It's also possible to use ``debuginfod-find`` to just query the server::
|
||||
|
||||
::
|
||||
root@qemux86-64:~# debuginfod-find debuginfo /bin/ls
|
||||
/home/root/.cache/debuginfod_client/356edc585f7f82d46f94fcb87a86a3fe2d2e60bd/debuginfo
|
||||
|
||||
PACKAGECONFIG_pn-gdb = "debuginfod"
|
||||
|
||||
This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb".
|
||||
|
||||
Using the gdbserver method
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -1523,12 +1523,6 @@ 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.
|
||||
|
||||
Reference in New Issue
Block a user