【发布时间】:2020-10-06 16:34:12
【问题描述】:
我一直在寻找与我类似的问题,但我找到的最接近的是Continue debugging after SegFault in GDB
我的目标是从核心转储调用 GDB 中的函数。我有一个 C++ 类型,它定义了 operator<<,我想漂亮地打印这种类型,而不必在 python 中编写漂亮的打印机。
从我目前发现的情况来看,GDB 对 coredump 的处理方式似乎与常规的 inferiors 不同,后者具有主动执行功能,因此无法调用函数(this answer 已确认您不能使用 continue 进行核心转储)。
虽然我可以理解为什么默认情况下会出现这种情况,但是否可以修补 GDB 以将 coredump 加载到内存中并将其作为正在运行的进程调用?如果程序因 Seg 终止。故障 那么可以在 GDB 中加载内核后手动更改损坏的路径,甚至可能在之后继续执行程序。
【问题讨论】:
标签: linux process segmentation-fault gdb coredump