【问题标题】:Get memory in use from core dump从核心转储中获取正在使用的内存
【发布时间】:2025-12-14 16:00:02
【问题描述】:

我有一个由 c++ 程序生成的核心转储文件。

我怀疑它崩溃的原因是内存不足。 有没有办法使用 gdb(或任何其他方式)从核心文件中获取正在使用的内存量?

【问题讨论】:

    标签: c++ gdb coredump


    【解决方案1】:

    根据this thread, it is not possible.

    但是,您可以使用 size -A core 来获取核心转储的各个部分的大小(不过,您不会知道它们是什么)。

    【讨论】:

      【解决方案2】:

      作为粗略的估计,大型核心文件中的大部分数据应该是堆 + 堆栈。

      外部 mmap 和可执行代码不会被复制进来,因此总大小应该接近它死前的总进程大小。

      【讨论】:

        最近更新 更多