如何优化核心转储文件大小?

时间:2013-04-12 13:17:17

标签: c linux debugging embedded coredump

我想在运行Linux的嵌入式系统上为我的大C应用程序生成核心转储文件。如果我设置

 ulimit -c unlimited

我获得大约100Mb的大转储文件。这在我的情况下太多了,因为如果我的应用程序崩溃并且核心没有完全生成,我的系统会重新启动。而且,它更难以操纵(拉链等)。

我认为我不需要整个内存转储我只想知道当我有崩溃时崩溃的位置。所以我只需要堆栈和堆...

如果我设置

ulimit -c 1024

我将丢失哪些数据?

在核心(5)联机帮助页上,他们解释了我们如何设置掩码来选择要转储的数据:

       bit 0  Dump anonymous private mappings.
       bit 1  Dump anonymous shared mappings.
       bit 2  Dump file-backed private mappings.
       bit 3  Dump file-backed shared mappings.
       bit 4 (since Linux 2.6.24)
              Dump ELF headers.
       bit 5 (since Linux 2.6.28)
              Dump private huge pages.
       bit 6 (since Linux 2.6.28)
              Dump shared huge pages. 

也许那里有优化?

谢谢!

0 个答案:

没有答案