我目前正在开发"Creation of Postmortem data logger in Linux on Intel architecture"。它只不过是核心实用程序的创建。有没有人可以分享关于在Linux内核中内部实现的应用程序崩溃时,产生core dump的各种信号(SIGSEGV,SIGABRT,SIGFPE etc)的信号处理器的细节。我需要根据自己的用户需求重写这些信号处理程序,并重新构建内核。它使我的内核产生核心文件(在应用程序崩溃时),满足用户特定的需求,比如显示registers,stackdump and backtrace etc。
有没有人能分享一下
尝试创建一个没有所有内存数据转储的小型核心转储文件。这个似乎有一个很好的解决方案。但是,当我将掩码设置为0(以排除所有内存数据)时,就没有核心文件。如果我将掩码设置为0x33,则生成核心文件。知道为什么吗?
#include <stdio.h>
#include <execinfo.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
void baz() {
int *foo = (int*)-1; // make a bad pointer
prin