一种查看崩溃前调用内核函数的方法?

时间:2016-06-28 15:40:12

标签: memory-management linux-kernel

我想看看做这样的事情时调用的是什么内核函数:

int main(void)
{
    int arr[5] = {0};
    arr[3000] = 8; // I want to see what kernel function sends the SIGBUS
}

有没有办法使用gdb或其他工具?

1 个答案:

答案 0 :(得分:1)

我不确定这一系列的调用是否特定于arch,但是对于arm:

do_page_fault -> __do_user_fault -> force_sig_info.

你无法通过gdb检查它是一个内核。如果要进一步调查,请使用dump_stack()/ printk / ftrace内核API。 顺便说一下, - 这个代码不会显示异常信号......