Linux 内核模块,它将只转储用户进程修改后的堆页

Linux 内核模块,它将只转储用户进程修改后的堆页,linux,memory-management,linux-kernel,kernel-module,crash-dumps,Linux,Memory Management,Linux Kernel,Kernel Module,Crash Dumps,从内核模块有没有办法跟踪所有页面都写入了堆中 当用户应用程序写入malloced页面时(例如下面给出的ptr[1]=3) 它的真正用途是,我正在编写一个内核模块,它将只转储用户进程修改后的堆页面 int main() { char *ptr; ptr = malloc(10); ptr[1] =3; return 0; } 你说的modifiedheap页面是什么意思?请注意,malloc可以使用brk以及mmap。修改我的意

内核模块有没有办法跟踪所有页面都写入了堆中

当用户应用程序写入malloced页面时(例如下面给出的ptr[1]=3)

它的真正用途是,我正在编写一个内核模块,它将只转储用户进程修改后的堆页面

int main()
{
        char *ptr;
        ptr = malloc(10);

        ptr[1] =3;
        return 0;

}

你说的
modified
heap页面是什么意思?请注意,
malloc
可以使用
brk
以及
mmap
。修改我的意思是,如果我们在该页面中写入一些值(例如ptr[1]=3),或者像ptr[1]=12一样再次修改它。基本上,从内核模块开始,我想检查对该页面的每次写入。首先,看看页面错误处理程序。接下来,了解MMU的工作原理,即CPU和Linux如何管理页面帧。您的任务有一个复杂的解决方案。