kmem 反编译linux内核_Linux内核调试工具(二)-crash

题记:对于内核开发人员,crash 已经成为必不可少的一个工具。内核固然高深,但是通过 kdump 和 crash 这对战友的亲密配合,很多问题都会迎刃而解。本文仅介绍了 crash 的基本知识,更多的技巧还需要读者在实践中不断探索和总结。

当系统崩溃时,通过kdump可以获得当时的内存转储文件vmcore,但是该如何分析vmcore呢?

crash是一个用于分析内核转储文件的工具,一般和kdump搭配使用。

使用crash时,要求调试内核vmlinux在编译时带有-g选项,即带有调试信息。

如果没有指定vmcore,则默认使用实时系统的内存来分析。

值得一提的是,crash也可以用来分析实时的系统内存,是一个很强大的调试工具。

crash使用gdb作为内部引擎,语法类似于gdb,命令的使用说明可以用 help来查看。

使用crash需要安装crash工具包和内核调试信息包:

crash

kernel-debuginfo-common

kernel-debuginfo

crash使用

Analyze Linux crash dump data or a live system.

crash [OPTION] NAMELIST MEMORY-IMAGE (dumpfile form)

crash [OPTION] [NAMELIST] (live system form)

使用crash来调试vmcore,至少需要两个参数:

NAMELIST:未压缩的内核映像文件vmlinux,默认位于/usr/lib/debug/lib/modules/$(uname -r)/vmlinux,由

内核调试信息包提供。

MEMORY-IMAGE:内存转储文件vmcore,默认位于/var/crash/%HOST-%DATE/vmcore,由kdump生成。

例如:# crash /usr/lib/debug/lib/modules/$(uname -r)/vmlinux /var/crash/%HOST-%DATE/vmcore

(1) 错误类型

首先可以在vmcore-dmesg.txt中先查看错误类型,如࿱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值