社区
Linux_Kernel
帖子详情
内核system.map调试
火雲邪神
2011-02-17 12:52:02
内核system.map调试
http://code.google.com/p/peter-bochs/wiki/MemorySampling_ChineseIntroduction
...全文
93
1
打赏
收藏
内核system.map调试
内核system.map调试 http://code.google.com/p/peter-bochs/wiki/MemorySampling_ChineseIntroduction
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Debug kernel panics _ Embedded System Blog.pdf
Unable to handle kernel paging request at virtual address
内核
奔溃问题debug方法
System.
map
文件详解
什么是System.
map
文件? System.
map
文件记录了所有符号的运行地址,这里的符号可以理解成函数名和变量。通过查看System.
map
文件可以帮助我们理解
内核
编译。System.
map
文件不是一层不变的,每次编译
内核
都会重新生成System.
map
文件。 System.
map
文件的作用 对计算机而言是没有符号这个概念的,只有0和1;但是我们比较容易理解的是函数名这样的符号,System.
map
文件就是计算机和人类在理解程序中的桥梁。当程序报错的时候,计算机会在堆栈信息里保存出错的内存地址,但
Linux
内核
如何生成system.
map
编译Linux
内核
时,会生成System.
map
文件,它记录了所有代码的运行地址。本文主要说明
内核
如何生成这个System.
map
文件。 顺便扩展下思路,在编写应用程序时,如何参考
内核
这一机制,生成符号文件。 System.
map
文件生成的脚本路径位于
内核
目录scripts/mksys
map
,mksys
map
文件内容也非常简单,话不多说上代码: #!/bin/sh -x # Based on the vmlinux file create the System.
map
file # System
Linux System.
map
解析
在Linux中,System.
map
文件是
内核
符号名称及其对应内存地址的映射表。它在
内核
构建过程中创建,并位于
内核
源代码树的根目录中(通常是/linux/System.
map
)。System.
map
文件由
内核
的崩溃转储分析工具和一些性能分析工具使用,以将
内核
地址映射到它们对应的符号名称。System.
map
文件是一个纯文本文件,对于每个符号,它包含三列信息:符号的虚拟地址、符号类型(函数、数据等)和符号名称。虚拟地址是符号所在
内核
内存中的位置。符号类型指示符号是函数、变量还是某种其他类型的数据。
System.
map
文件
亲自编译过linux
内核
的可能编译完
内核
都会发现在生成vmlinuz的目录下面多出来一个System.
map
文件,一般位于/boot目录下,那么这个文件是做什么用的呢? 通常我们会把发送到标准输出设备的链接映象信息重定向到一个文件中(如System.
map
)。编译
内核
时,System.
map
文件用于存放
内核
符号表信息。符号表是所有
内核
符号及其对应地址的一个列表,随着每次
内核
的编译,就会产生一
Linux_Kernel
4,469
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章