有时候在Ubuntu上开发一个PC驱动,结果导致了系统崩溃。Ubuntu 12.04测试中,发现系统默认是打开了内核转储的能力。下面我在调试最新的内核Linux 3.12.5的一些关键操作。
Ubuntu编译内核
CONCURRENCY_LEVEL用来制定多核编译的CPU核的数量
#! /bin/sh
export CONCURRENCY_LEVEL=9
fakeroot make-kpkg --initrd --append-to-version=-modem kernel_image
安装内核
编译出的内核,在上一级目录
sudo dpkg -i linux-image-3.12.5-modem+_3.12.5-modem+-10.00.Custom_amd64.deb
删除内核
找到你自己安装的内核
dpkg --list|grep linux-image
删除列举出的package
sudo apt-get --purge remove linux-image-3.12.5-modem+
注意:不可以删除,你正在使用的内核
解压缩Ubuntu .crash报告
主要是为了从报告中取出Vmcore文件,注意.crash文件需要root权限
sudo apport-unpack /var/crash/linux-image-3.12.5

本文介绍了在Ubuntu上进行内核调试的技巧,包括如何编译内核、安装新内核、删除旧内核,以及如何解压缩和分析`.crash`报告,特别是针对系统崩溃时的内核转储能力的利用。
最低0.47元/天 解锁文章
3504

被折叠的 条评论
为什么被折叠?



