Debuginfod是一种支持自动查询远程HTTP服务器以获取调试资源的工具。Debuginfod支持通过Binutils的readelf和objdump工具或GNU调试器(GDB)本身来查询。Debuginfod服务器能够根据需要向客户端提供ELF/DWARF调试文件。 Debuginfod的生态由Red Hat负责构建,因为其工程师最早开发了Debu
首先配置debuginfod服务器地址https://debuginfod.ubuntu.com,将其添加到~/.bashrc里: exportDEBUGINFOD_URLS="https://debuginfod.ubuntu.com" 当使用gdb调试程序时,会通过http远程访问debuginfod服务器,根据程序唯一的build-id下载对应的调试符号和源文件(前提时服务器里有对应的符号文件和源码包)到本地~/.cache/...
debuginfod机制类似于微软符号服务器,其核心在于实现调试信息的便捷获取。 为了进一步增强NDB的debuginfod支持,我们曾于去年暑假安排两位实习生进行相关开发。其中一位进行了初步的调查并编写了试验代码,而另一位则在ndw模块中实现了初步的代码框架,但遗憾的是未能完成全部工作。▍ 实习生开发进展 去年暑期实习中,两位...
启动gdb-13.1,通过命令show debuginfod查看debuginfod配置,主要包括三个配置: 每次启动gdb会主动询问是否开启debuginfod功能,可以把命令set debuginfod enabled on添加到~/.gdbinit里永久开启; 设置debuginfod服务器地址,不同发行版厂商会维护自己的debuginfod服务器。 打开debuginfod运行时的详细输出信息,可以通过命令set ...
首先,需要确保安装了elfutils的高版本,因为debuginfod包含在其中,从elfutils-0.178开始支持。由于旧版Ubuntu的elfutils版本较低,可能需要源码编译安装。安装时,可能会遇到缺少libmicrohttpd、libcurl、sqlite3和libarchive等依赖库的问题,可以使用apt安装相关dev包。接着,编译安装gdb-13.1,尽管已安装...
Set the TCP port number (0 < NUM < 65536) on which debuginfod should listen, to service HTTP requests. Both IPv4 and IPV6 sockets are opened, if possible. The webapi is documented below. The default port number is 8002. --listen-address=ADDR ...
$ export DEBUGINFOD_URLS="http://buildhost:8002/" $ debuginfod-find source BUILD-ID /path/to/foo.c /home/amerey/.debuginfod_client_cache/source#path#to#foo#c $ debuginfod-find debuginfo BUILD-ID /home/amerey/.debuginfod_client_cache/debuginfo ...
Fedora 35 有望默认使用 Debuginfod Debuginfod 是一个 HTTP 文件服务器,可将调试资源提供给类似调试器的工具。服务器定期扫描目录树和 RPM 存档,以提取找到的任何可执行文件和 debuginfo 文件的构建 ID。它包含一个 SQLite 数据库,该数据库将构建 ID 索引到文件名或(包、内容)元组。
在elfutils-debuginfod中,有一个名为elfutils-debuginfod-debuginfo-0.192-5.mga10.i686的模块,它是该工具的核心部分。 这个模块的主要功能是处理和解析ELF文件,包括ELF头部、节头表、节区、节区数据等。通过使用elfutils-debuginfod-debuginfo-0.192-5.mga10.i686模块,开发者可以方便地获取到ELF文件的各种信息,如...
This allows llvm-debuginfod-find to locate binaries in local build ID directories configured via --debug-file-directory, the same flag used for this purpose by llvm-symbolizer. This provides a consistent lookup semantics between the two tools when configured the same way, in particular when ...