标签: c++ linux coredump
我有一个很大的coredumps,比如120+千兆字节。
我需要从中获取程序版本,所以我添加全局常量(伪代码):
static const char* const = "MAGIC_KEYWORD_FOR_GREPPING_" + MY_PROGRAM_VERSION;
是否可以将它放在coredump的开头,因此grepping会更快?
答案 0 :(得分:1)
Coredumps由操作系统创建,而不是由导致它们的应用程序创建。操作系统无法知道程序中某些变量的值。您可以通过将core_pattern设置为包含coredump文件名中的可执行文件名来调整coredump的名称。这个man page有说明符'描述
core_pattern
可能是您的操作系统通过管道传输某个应用程序来生成coredump - 如果cat /proc/sys/kernel/core_pattern返回以|开头的字符串(例如我的|/usr/share/apport/apport %p %s %c %P),那么您必须调整相应的参数。有关详细信息,请参阅this link
cat /proc/sys/kernel/core_pattern
|
|/usr/share/apport/apport %p %s %c %P