diff options
Diffstat (limited to 'documentation/dev-manual')
| -rw-r--r-- | documentation/dev-manual/common-tasks.rst | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/documentation/dev-manual/common-tasks.rst b/documentation/dev-manual/common-tasks.rst index 820b8314d1..4313d905ca 100644 --- a/documentation/dev-manual/common-tasks.rst +++ b/documentation/dev-manual/common-tasks.rst | |||
| @@ -10023,7 +10023,52 @@ before starting the debugging process. These extra computations place | |||
| 10023 | more load on the target system and can alter the characteristics of the | 10023 | more load on the target system and can alter the characteristics of the |
| 10024 | program being debugged. | 10024 | program being debugged. |
| 10025 | 10025 | ||
| 10026 | To help get past the previously mentioned constraints, you can use | 10026 | To help get past the previously mentioned constraints, there are two |
| 10027 | methods you can use: running a debuginfod server and using gdbserver. | ||
| 10028 | |||
| 10029 | Using the debuginfod server method | ||
| 10030 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 10031 | |||
| 10032 | "debuginfod" from "elfutils" is a way to distribute "debuginfo" files. | ||
| 10033 | Running a "debuginfod" server makes debug symbols readily available, | ||
| 10034 | which means you don't need to download debugging information | ||
| 10035 | and the binaries of the process being debugged. You can just fetch | ||
| 10036 | debug symbols from the server. | ||
| 10037 | |||
| 10038 | To run a debuginfod server, you need to do the following: | ||
| 10039 | |||
| 10040 | - Ensure that this variable is set in your ``local.conf`` file: | ||
| 10041 | :: | ||
| 10042 | |||
| 10043 | PACKAGECONFIG_pn-elfutils-native = "debuginfod libdebuginfod" | ||
| 10044 | |||
| 10045 | This :term:`PACKAGECONFIG` option enables debuginfod and libdebuginfod for | ||
| 10046 | "elfutils-native". | ||
| 10047 | |||
| 10048 | - Run the following commands to set up the "debuginfod" server: | ||
| 10049 | :: | ||
| 10050 | |||
| 10051 | $ oe-debuginfod | ||
| 10052 | |||
| 10053 | |||
| 10054 | To use debuginfod on the target, you need the following: | ||
| 10055 | |||
| 10056 | - Ensure that this variable is set in your ``local.conf`` file: | ||
| 10057 | :: | ||
| 10058 | |||
| 10059 | DEBUGINFOD_URLS = "http://localhost:8002/" | ||
| 10060 | |||
| 10061 | This :term:`DEBUGINFOD_URLS` option does the client configuration. | ||
| 10062 | |||
| 10063 | :: | ||
| 10064 | |||
| 10065 | PACKAGECONFIG_pn-gdb = "debuginfod" | ||
| 10066 | |||
| 10067 | This :term:`PACKAGECONFIG` option enables "debuginfod" for "gdb". | ||
| 10068 | |||
| 10069 | Using the gdbserver method | ||
| 10070 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 10071 | |||
| 10027 | gdbserver, which runs on the remote target and does not load any | 10072 | gdbserver, which runs on the remote target and does not load any |
| 10028 | debugging information from the debugged process. Instead, a GDB instance | 10073 | debugging information from the debugged process. Instead, a GDB instance |
| 10029 | processes the debugging information that is run on a remote computer - | 10074 | processes the debugging information that is run on a remote computer - |
