gpt4 book ai didi

c - 设置段错误处理程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:14 26 4
gpt4 key购买 nike

在我的 signal.h 文件中,我添加了一个这样的信号处理程序:

#define SIG_WPG ((__sighandler_t)3)

然后像这样在 signal.c 中实现它:

if (ka->sa.sa_handler == SIG_WPG) {
unsigned long ul_cr2 = current->tss.cr2;
unsigned long ul_eip = (unsigned long) regs->eip
int ul_cr2_rounded = ul_cr2 & PAGE_MASK;
printk("ul_eip: %d\n", ul_eip);
printk("ul_cr2: %d\n", ul_cr2);
printk("ul_cr2_rounded: %d\n", ul_cr2_rounded);
}

如何让这个信号处理程序处理用户空间中的段错误?

最佳答案

您可以使用 signal() 方法为该异常注册回调:

//callback prototype
void Handler(int sig);

//register the callback for the specific signal
signal(SIGSEGV,&Handler);

关于c - 设置段错误处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com