繁体   English   中英

GDB 脚本 - 只有在不调试核心文件时才执行命令

[英]GDB scripting - execute command only if not debugging core file

我正在添加一些我认为对我的 GDB 启动脚本有用的功能。 一些启动命令仅适用于“实时”目标,或者具有仅对实时目标有意义的组件。 我希望能够测试核心文件是否存在(或不存在),并酌情跳过或修改这些命令。

我在 Python API 中找了一圈,但找不到任何告诉我劣质文件是核心文件还是实时程序的信息。 我对在 GDB 本身或 Python GDB 脚本接口中运行的脚本解决方案很满意。

似乎没有办法做到这一点。

我期望在gdb.Inferior 一个属性,但是没有一个

在GDB bugzilla中提出功能请求。

info proc status为核心文件返回"unable to handle request" ,而对于实时进程,它返回几行,第一行看起来像: "process 1234"

您可以使用此处的execute_output() function 运行该命令并将其第一行 output 与该字符串进行比较: https://github.com/crossbowerbt/GDB-Python-Utils/blob/master/gdb_utils.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM