【发布时间】:2025-12-14 16:00:02
【问题描述】:
我有一个由 c++ 程序生成的核心转储文件。
我怀疑它崩溃的原因是内存不足。 有没有办法使用 gdb(或任何其他方式)从核心文件中获取正在使用的内存量?
【问题讨论】:
我有一个由 c++ 程序生成的核心转储文件。
我怀疑它崩溃的原因是内存不足。 有没有办法使用 gdb(或任何其他方式)从核心文件中获取正在使用的内存量?
【问题讨论】:
根据this thread, it is not possible.
但是,您可以使用 size -A core 来获取核心转储的各个部分的大小(不过,您不会知道它们是什么)。
【讨论】:
作为粗略的估计,大型核心文件中的大部分数据应该是堆 + 堆栈。
外部 mmap 和可执行代码不会被复制进来,因此总大小应该接近它死前的总进程大小。
【讨论】: