我正在寻找一种方法来打印 GDB 中加载的
file
的名称。
这个问题的前一个版本是面向符号的,但实际上我需要知道向
file
命令提供了什么,或者作为 GDB 启动参数提供了什么。
我可以用几种不同的方式打印它,但它们并不理想。
一种方法是输入不带参数的
file
命令:
(gdb) file
No executable file now.
Discard symbol table from `/path/to.elf'? (y or n)
另一种方法是使用
maint info symtabs
,因为它开头为:
{ objfile /path/to.elf ((struct objfile *) 0xADDRESS)
按照@Employee-Russan的建议,我可以使用
info file
来获得一些输出,但在GDB内部解析也不容易。
(gdb) info file
Symbols from "/path/to.elf".
我正在寻找更简单的东西,我不必解析 - 或者至少是一种合理的方法来解析它并存储在 GDB 变量中。
Python API 也是一种选择,但我宁愿有一个也能在无 python GDB 中工作的解决方案。
我正在寻找一种方法来打印加载的符号文件的名称
不一定有“加载的符号文件”——可能有很多(一两个用于主二进制文件,另外一两个用于每个加载的共享库)。
info file
和
info shared
提供了一些信息。