将特定字符串添加到核心转储到它的开头

时间:2017-04-18 10:12:24

标签: c++ linux coredump

我有一个很大的coredumps,比如120+千兆字节。

我需要从中获取程序版本,所以我添加全局常量(伪代码):

static const char* const = "MAGIC_KEYWORD_FOR_GREPPING_" + MY_PROGRAM_VERSION;

是否可以将它放在coredump的开头,因此grepping会更快?

1 个答案:

答案 0 :(得分:1)

Coredumps由操作系统创建,而不是由导致它们的应用程序创建。操作系统无法知道程序中某些变量的值。您可以通过将core_pattern设置为包含coredump文件名中的可执行文件名来调整coredump的名称。这个man page有说明符'描述

可能是您的操作系统通过管道传输某个应用程序来生成coredump - 如果cat /proc/sys/kernel/core_pattern返回以|开头的字符串(例如我的|/usr/share/apport/apport %p %s %c %P),那么您必须调整相应的参数。有关详细信息,请参阅this link