Skip to main content
crash 实用工具是一个开源工具,可通过基于 gdb 的命令行界面在 RAM 转储上调试内核。

前提条件

  • kaslr_offset 和 kimage_voffset 值 默认情况下,Qualcomm Linux 构建启用了内核地址空间布局随机化(KASLR)功能。要使 crash 实用工具在启用 KASLR 的内核上工作,您需要 kaslr_offset 和 kimage_voffset 参数的值,可以从 dmesg_TZ.txt RAMparser 输出文件中提取这些值。 以下是示例 RAMparser 输出文件 dmesg_TZ.txt 的摘录,提供了 kaslr_offset 和 kimage_voffset 值。 The kaslr_offset extracted is: 0x340c3d320000 … The kimage_voffset extracted is: ffffb40bbf600000
  • 内核二进制文件(DDRCS*.BIN)的基地址 当您使用 PCAT 捕获 RAM 转储时,它还会捕获 dump_info.txt 和 load.cmm 文件。这些文件包含内核二进制文件(DDRCS*.BIN)的基地址。

在 Linux 主机上下载并构建 crash 实用工具

  • 要下载并构建 crash 实用工具,请运行以下命令:
有关更多信息,请参阅 crash/README at master · crash-utility/crash· GitHub。

运行 crash 实用工具

以下是在 Ubuntu 主机上运行 crash 实用工具的示例命令:
  • 将 <PATH> 替换为 vmlinux RAM 转储路径。
  • 从 dmesg_TZ.txt RAMparser 输出文件中提取 kimage_voffset 和 kaslr。
  • 从使用 PCAT 收集的 RAM 转储中的 dump_info.txt 文件中提取 DDR 偏移量,例如 0x80000000。
示例输出:
示例命令:
示例输出:
示例命令:
示例输出:
示例命令:
示例输出:
有关 crash 实用工具的更多信息,请参阅以下内容: