linux内核源代码分析小技巧
来源:互联网 发布:python time.clock 编辑:程序博客网 时间:2024/05/21 10:32
1.在内核调试时,我们需要跟踪函数调用过程,在这时,我们经常会碰到函数指针的情况,对于某个函数指针的赋值,如果直接使用sourceinsight来搜索可能有几十个的赋值语句,那么,我们怎么跟踪到具体的函数处呢?如何打印出函数指针的函数名?
%p:打印裸指针(raw pointer)
%pF可打印函数指针的函数名和偏移地址
%pf只打印函数指针的函数名,不打印偏移地址。
如printk("%pf",func[0]->action); 结果:
my_Set
2.使用__FILE__,__FUNCTION__,__LINE__来定位执行过程中出错的位置。
3.查看指针函数实际调用了哪个函数:
1. 在内核中放置打印函数,打印出函数的地址。
2. arm-linux-addr2line 0xXXXXXXXX -e vmlinux-f
查看谁调用了这个函数:
1. 在被调用函数里放置打印函数,加参数:__builtin_return_address(0)
2. arm-linux-addr2line 0xXXXXXXXX -e vmlinux-f
4.在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛
调用dump_stack()就会打印当前cpu的堆栈的调用函数了。
如此,一目了然的就能看到当前上下文环境,调用关系了
0 0
- linux内核源代码分析小技巧
- linux内核源代码分析
- Linux内核源代码分析工具
- Linux内核源代码分析5.28
- linux内核源代码情景分析
- Linux内核源代码分析工具
- 深入分析linux内核源代码
- Linux内核源代码分析-目录
- linux内核capable源代码分析
- linux内核umount源代码分析
- linux内核sys_open源代码分析
- Linux内核源代码分析-第一章 linux介绍
- 关于Linux系统内核源代码分析经验谈
- linux VFS概述以及内核源代码分析
- 一点点Linux内核源代码的分析
- 关于Linux内核源代码分析经验谈
- Linux内核源代码中的Makefile分析
- linux VFS概述以及内核源代码分析
- C++虚基类的实现机制
- 指针变量的定义
- 华为硬件工程师手册
- 笔记
- java零基础知识回顾(io简单总结)
- linux内核源代码分析小技巧
- Data node 192.168.0.153:50010 is attempting to report storage ID DS-819066718-127.0.0.1-50010-14250
- java零基础知识回顾(static小结)
- 7款精巧实用的HTML5/CSS3应用
- 查看开源软件的man文件。
- java零基础知识回顾(String)
- PHP发送移动MAS短信乱码的解决方法
- 路由一插网线就断网?教你用最简洁的方法搞定,有线无线同时工作
- C语言opendir()函数:打开目录函数