以可解析的方式打印GDB中的`文件`路径

问题描述 投票:0回答:1

我正在寻找一种方法来打印 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 中工作的解决方案。

gdb
1个回答
1
投票

我正在寻找一种方法来打印加载的符号文件的名称

不一定有“加载的符号文件”——可能有很多(一两个用于主二进制文件,另外一两个用于每个加载的共享库)。

info file

info shared
 提供了一些信息。

© www.soinside.com 2019 - 2024. All rights reserved.