我正在添加一些我认为对我的 GDB 启动脚本有用的功能。一些启动命令仅适用于“实时”目标,或者具有仅对实时目标有意义的组件。我希望能够测试核心文件的存在(或不存在),并根据需要跳过或修改这些命令。
我在 Python API 中四处查看,但找不到任何东西可以告诉我劣质文件是核心文件还是实时程序。我对在 GDB 本身或 Python GDB 脚本接口中工作的脚本解决方案很好。
info proc status
返回"unable to handle request"
核心文件,而对于实时进程,它返回几行,第一行看起来像:"process 1234"
.
您可以运行该命令并使用execute_output()
此处的函数将其第一个输出行与该字符串进行比较:https ://github.com/crossbowerbt/GDB-Python-Utils/blob/master/gdb_utils.py