当前位置: 首页 > Linux kernrl, 内存管理 > 正文

内存管理器(十五)内核调试利器—-dump_stack( )

内存管理器(十五)kernel 调试小工具—-dump_stack( )

前言

其实我还在分析slab,但是它的实现还是比较复杂的,争取尽快出结果,在看这些东西的过程中我不但看到了很多厉害的设计方法,思想思路。同时我也发现了很多有意思的小东西。这是第二个。

__start

当你写了一个内核模块以后,但是除了问题。或者在调试内核的时候出现了不明白的东西,BUG你就可以使用这个小工具。它可以展现所有之前调用函数。


#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);

效果如下

2015-11-11 12:53:24 的屏幕截图

本文固定链接: http://zmrlinux.com/2015/11/11/%e5%86%85%e5%ad%98%e7%ae%a1%e7%90%86%e5%99%a8%ef%bc%88%e5%8d%81%e4%ba%94%ef%bc%89%e5%86%85%e6%a0%b8%e8%b0%83%e8%af%95%e5%88%a9%e5%99%a8-dump_stack/ | Kernel & Me

该日志由 root 于2015年11月11日发表在 Linux kernrl, 内存管理 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 内存管理器(十五)内核调试利器—-dump_stack( ) | Kernel & Me