我正在尝试在带有1Gb RAM的aarch64板上运行的嵌入式linux系统上,自动将linux内核生成的coredumps(使用breakpad工具)转换为minidump。
我的主要问题是生成的coredumps太大而无法存储,并且在生成时必须压缩。
所以我尝试将核心文件流直接传递到用于转换的Breakpad工具:
# echo '| xargs -I {} /usr/bin/core2md {} /proc /tmp/dmp.%e.%p' >/proc/sys/kernel/core_pattern
但是看起来core2md期望磁盘上有一个文件(它映射整个文件,然后使用偏移量检索信息)。
我想知道是否可以将core2md源代码修补到:
*将整个流映射到内存中,而不必在磁盘上写入文件,
*或通过直接读取流来提取所有必要的信息,
*或将文件压缩到内存中