上面那个vmlinux,是调试所需的内核镜像;上面那个vmcore,就是core dump。 四、用sys命令看看基本信息 用crash打开vmcore文件后,使用sys命令,你可以看到系统内核的基本信息,比如崩溃时系统中的进程数量、系统内核版本、内存大小、系统崩溃时的报错信息等。 比如,报错信息是:BUG: unable to handle kernel paging request ...
crash [OPTION]... NAMELIST MEMORY-IMAGE[@ADDRESS] 1、namelist 是调试版本内核,即-g选项编译的,可以自己用源码加-g编译,可以到发行版网站下载kernel-debuginfo软件包,包含内核在/usr/lib/debug/lib/modules/内核版本/vmlinux; 2、memory-image 就是转存的某格式dump文件 【2】安装对应的kernel-debuginfo 和 ...
再敲命令:cat sysdump.* > sysdump.core 生成sysdump.core文件,后面查找出错代码时会用到。 2.利用crash_arm工具排查出错 cp sysdump.core、vmlinux 到 /M901/vendor/sprd/tools/crash下,利用crash_arm工具查找出错的代码 可以看到错误是有一个 "Unable to handle kernel NULL pointer dereference at virtual a...
上面那个vmlinux,是调试所需的内核镜像;上面那个vmcore,就是core dump。 四、用sys命令看看基本信息 用crash打开vmcore文件后,使用sys命令,你可以看到系统内核的基本信息,比如崩溃时系统中的进程数量、系统内核版本、内存大小、系统崩溃时的报错信息等。 比如,报错信息是:BUG: unable to handle kernel paging request ...
sudo apt install crash 通过相关文件查看,可得知安装过程中,内核启动参数中的crashkernel已经进行了设置。 sudo cat /etc/default/grub.d/kdump-tools.cfg sudo cat /boot/grub/grub.cfg 其实吧,我感觉在前面安装Kdump后就已经安装了前面的crash工具...,为了保险起见,这里再重启一次吧(在后面配置完crashkernel大小...
LKCD(Linux Kernel Crash Dump) 是 Linux 下第一个内核崩溃内存转储项目,它最初由 SGI 的工程师开发和维护。它提供了一种可靠的方法来发现、保存和检查系统的崩溃。LKCD 作为 Linux 内核的一个补丁,它一直以来都没有被接收进入内核的主线。目前该项目已经完全停止开发。
LKCD(Linux Kernel Crash Dump) 是 Linux 下第一个内核崩溃内存转储项目,它最初由 SGI 的工程师开发和维护。它提供了一种可靠的方法来发现、保存和检查系统的崩溃。LKCD 作为 Linux 内核的一个补丁,它一直以来都没有被接收进入内核的主线。目前该项目已经完全停止开发。
预配置崩溃内核(crash kernel):在系统正常运行时,预先分配一部分内存用于崩溃内核。 系统崩溃时切换内核:当主内核发生崩溃时,通过kexec机制加载并启动预先配置的崩溃内核。 生成内存转储:崩溃内核启动后,使用kdump工具生成内存转储文件,将其保存到预先配置的位置(如本地磁盘、NFS共享或远程服务器)。
再敲命令:cat sysdump.* > sysdump.core 生成sysdump.core文件,后面查找出错代码时会用到。 2.利用crash_arm工具排查出错 cp sysdump.core、vmlinux 到 /M901/vendor/sprd/tools/crash下,利用crash_arm工具查找出错的代码 可以看到错误是有一个 "Unable to handle kernel NULL pointer dereference at virtual ...
也许大家都知道,分析 Kernel Dump 有个常用的工具叫 Crash,在我刚开始学习分析 Kernel Dump 的时候,总是花大量的时间折腾这个工具的用法,却总是记不住这个工具的功能。后来有一次在参加某次内部分享的时候,有位大佬说了一句话让我印象非常深刻:这些工具怎么用的大家不用记,等到真正开始用的时候你就会猜到这个工具...