我正在处理图形GDB前端,我很好奇是否有办法从远程目标获取完整的可执行文件名,假设我没有在本地调试器中加载可执行文件。
我可以使用CLI或MI。
答案 0 :(得分:2)
您可以通过“info inferiors”获取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 process”的相关功能是info_osdata_command()和get_osdata()。没有内置的方法来过滤PID。