我有一个由c ++程序生成的核心转储文件。
我怀疑它崩溃的原因是因为内存不足。 有没有办法使用gdb(或任何其他方式)从核心文件中获取正在使用的内存量?
答案 0 :(得分:1)
根据this thread, it is not possible。
但是,您可以使用size -A core
来获取核心转储的各个部分的大小(但您不会知道它们是什么)。
答案 1 :(得分:1)
作为粗略的近似,大型核心文件中的大多数数据应该是堆+堆栈。
外部mmaps和可执行代码不会被复制,因此总大小应该在死亡之前接近总进程大小。