1

我正在研究图形 GDB 前端,如果我的本地调试器中没有加载可执行文件,我很好奇是否有办法从远程目标获取完整的可执行文件名称。

我可以使用 CLI 或 MI。

4

1 回答 1

2

您可以通过"info lowers"获得 PID,并通过"info os processes"获得类似 ps(1) 的输出。然后,您必须搜索整个进程列表以找到匹配的 PID 并获取其命令行:

(gdb) info inferiors 
  Num  Description       Executable        
* 1    process 14382
(gdb) info os processes
pid        user       command    cores      
1          root       /usr/lib/systemd/systemd --system --deserialize 22 1
2          root       [kthreadd] 3          
......

我查看了 GDB 源代码,“info os 进程”的相关函数是info_osdata_command()get_osdata()。没有内置的方法来过滤 PID。

于 2012-09-30T18:58:07.540 回答