内存管理器(十五)kernel 调试小工具----dump_stack( )
前言
其实我还在分析slab,但是它的实现还是比较复杂的,争取尽快出结果,在看这些东西的过程中我不但看到了很多厉害的设计方法,思想思路。同时我也发现了很多有意思的小东西。这是第二个。
__start
当你写了一个内核模块以后,但是除了问题。或者在调试内核的时候出现了不明白的东西,BUG你就可以使用这个小工具。它可以展现所有之前调用函数。
[c]
#include<linux/module.h>
#include<linux/init.h>
#include<linux/kprobes.h>
#include<asm/traps.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("zmrlinux");
MODULE_DESCRIPTION("dump_stack");
static int __init test(void){
printk("look this \n");
dump_stack();
printk("look down \n");
return 0;
}
static void __exit test_out(void){
printk("byby\n");
}
module_init(test);
module_exit(test_out);
[/c]
效果如下