当前位置:

首页 > 系统应用 > Linux怎么查看具体的系统崩溃堆栈

Linux怎么查看具体的系统崩溃堆栈

要快速判断问题方向,最直接的办法就是去看/var/crash/最新子目录里dmesg.*文件的最后50行。这里往往最容易暴露panic或Oops的线索,像“Kernel panic - not syncing”“Oops”“Call Trace:”这类关键词,基本一眼就能锁定重点。很多时候,90%的

要快速判断问题方向,最直接的办法就是去看/var/crash/最新子目录里dmesg.*文件的最后50行。这里往往最容易暴露panic或Oops的线索,像“Kernel panic - not syncing”“Oops”“Call Trace:”这类关键词,基本一眼就能锁定重点。很多时候,90%的根因就藏在这几行里。

Linux怎么查看具体的系统崩溃堆栈

崩溃后怎么快速定位 panic 或 Oops 行?

先去看 /var/crash/ 下面最新那个子目录里的 dmesg.* 文件,这基本就是系统崩溃前内核留下的实时日志快照。先别急着上 crash 工具,很多时候真正有用的线索,十有八九就埋在最后几十行里,比如 Kernel panic - not syncing、Oops、Call Trace: 这些关键信息。

执行:
cat /var/crash/$(ls -t /var/crash | head -n1)/dmesg.* | tail -n 50

  • 如果看到 BUG: unable to handle kernel NULL pointer dereference 这类提示,说明是空指针解引用,直接往下找 Call Trace: 后面的函数链
  • IP: 后面的地址是出问题的指令位置,SP: 是栈顶地址,这两个值后续用 crash 时会用到
  • 注意时间戳是否连续——有些系统在 panic 前会卡住几秒,dmesg 尾部时间跳变过大,说明日志可能被截断,得结合 journalctl -b -1 补充看上一次 boot 的日志

crash 工具里怎么看进程级堆栈?

crash 不是万能日志阅读器,它是用来解析 vmcore 内存镜像的交互式调试器。必须满足两个硬条件:有对应内核版本的 vmlinux 符号文件 + 正确加载了 dump.XXXX 文件。

进入崩溃目录后,运行:
crash /usr/lib/debug/lib/modules/$(uname -r)/vmlinux dump.XXXX

  • 进到交互界面后,先输 bt ——这是最常用命令,显示当前 CPU 上崩溃线程的完整调用栈,包括函数名、偏移、源码行号(如果有 debuginfo)
  • 如果 bt 输出里全是十六进制地址没函数名,说明 vmlinux 路径不对或 debuginfo 包没装全;查路径用 find /usr/lib/debug -name vmlinux 2>/dev/null
  • 想看特定进程(比如 PID=1234)的栈,用 bt 1234;想看所有 CPU 的栈,用 bt -a

没 kdump 怎么临时抓内核堆栈?

系统还在跑、但已出现异常(比如软锁死、高延迟),又没配 kdump,可以用 SysRq 触发即时堆栈打印。前提是 /proc/sys/kernel/sysrq 值为 1(默认多数发行版开启)。

物理机或带控制台的虚拟机上操作:
按住 Alt + SysRq(即 Print Screen 键),松开后立刻按 t(小写)

  • 输出会刷到 dmesg 缓冲区,立刻执行 dmesg | tail -n 100 查看,里面会有每个 CPU 的 Call Trace:
  • 注意:这个操作不保存到磁盘,只存在内存日志中,重启就丢;如果系统已无响应,SysRq 可能失效
  • 某些云主机或容器环境禁用了 SysRq,检查 cat /proc/sys/kernel/sysrq 返回值,不是 1 就得先 echo 1 > /proc/sys/kernel/sysrq(需 root)

用户态程序崩溃的堆栈在哪找?

内核崩溃和用户程序崩溃是两套机制。用户态程序(如 nginx、python 脚本)崩溃,靠的是 core dump,不是 vmcore。

确认 core 生成已开启:
ulimit -c 必须非 0(推荐 ulimit -c unlimited);
sysctl kernel.core_pattern 看路径,常见值如 core.%e.%p 或 /var/lib/core/core.%e.%p

  • 找到 core 文件后,用 gdb ./your_program core.xxx,然后输 bt 查看用户态调用栈
  • 如果 bt 显示一堆 ??,说明编译时没加 -g,或者符号被 strip 过;release 版本建议保留 .debug 段或单独存符号文件
  • addr2line -e ./your_program -f -C 0x7f8b12345678 可把任意地址转成函数+行号,前提是二进制含调试信息

真正麻烦的不是怎么查,而是堆栈里混着内核态和用户态上下文——比如系统调用陷入内核后 panic,这时候得先用 crash 看内核栈,再用 gdb 对应 core 看用户态现场,两者地址空间完全独立,不能交叉解析。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
系统应用
相关文章 更多
process lasso pro 怎么设置
process lasso pro 怎么设置

新手如何设置 Process Lasso 专业版?本文详解主窗口、ProBalance、性能模式、应用电源计划及效率模式的配置方法,助您优化系统响应与进程优先级。

windows自学教程零基础入门操作详解
windows自学教程零基础入门操作详解

适合新手的Windows自学教程,详解开始菜单搜索、任务栏快速设置、文件资源管理器导航及系统设置入口,助你快速熟悉Windows 11/10基础操作。

startallback如何卸载干净并清除残留文件
startallback如何卸载干净并清除残留文件

指导用户安全卸载StartAllBack,包括恢复界面设置、通过Windows设置移除程序、重启验证及处理残留异常的方法,避免误操作导致系统不稳定。

windows 10 安装 程序找不到U盘的解决方法
windows 10 安装 程序找不到U盘的解决方法

遇到Windows 10安装时找不到U盘的情况?本文详解如何区分系统识别、启动菜单和安装界面三类问题,涵盖官方介质制作、USB接口选择、UEFI设置及驱动加载方法,助您快速解决安装障碍。

windows卸载软件在哪里卸载的详细操作教程
windows卸载软件在哪里卸载的详细操作教程

想知道Windows卸载软件在哪里操作?本文详解设置、控制面板、开始菜单及Store应用的卸载入口,提供备份数据、处理卸载向导及清理残留的完整指南,避免误删系统组件。

Groupy开机启动设置在哪里及具体操作方法
Groupy开机启动设置在哪里及具体操作方法

想让Groupy登录Windows后自动运行?本文详解在系统设置和任务管理器中开启Groupy开机启动的方法,以及通过启动文件夹手动添加的技巧,最后演示如何验证窗口拖放分组效果。

Windows10纯净安装清空全盘数据操作流程
Windows10纯净安装清空全盘数据操作流程

详解 Windows 10 自定义安装中清空目标硬盘全部分区的操作步骤。从数据备份、U盘启动到删除分区重建系统结构,提供安全的界面导览与注意事项,适合需要彻底重置电脑的用户。

1panel申请证书失败为啥及常见原因排查教程
1panel申请证书失败为啥及常见原因排查教程

遇到 1Panel 申请证书失败?本文通过界面区域导览,详细讲解 ACME 账户、DNS 账号权限、手动解析记录、HTTP 80 端口连通性及网站 SSL 配置等关键排查点,助你解决证书申请难题。

Windows10替换Win7系统完整迁移安装方案
Windows10替换Win7系统完整迁移安装方案

详细讲解如何将Windows 7系统替换为Windows 10,包括升级与全新安装的选择、关键数据备份、U盘启动盘制作、磁盘分区操作及驱动恢复步骤。注意Windows 10支持周期已结束,需做好安全规划。

windows系统安装教程详细步骤全过程图文指南
windows系统安装教程详细步骤全过程图文指南

详细讲解Windows系统安装步骤,包括使用Media Creation Tool制作启动U盘、BIOS/UEFI启动设置、磁盘分区选择及驱动激活检查。区分就地重装与全新安装,帮助用户安全完成系统部署。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
WPS Office macOS版
WPS Office macOS版
macOS

WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,

Shapr3D macOS版
Shapr3D macOS版
Mac

Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。

REAPER macOS版
REAPER macOS版
Mac

REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。

WINDOWS 更多
AutoCAD Windows版
AutoCAD Windows版
Windows

AutoCAD 是 Autodesk 推出的专业计算机辅助设计软件,Windows 版支持精确二维绘图、三维实体与曲面建模、图纸标注、布局发布和任务自动化,并包含多套行业专业化工具组合,适用于建筑、机械、电气、工程建设及制造设计人员。

SketchUp Pro Windows版
SketchUp Pro Windows版
Windows

SketchUp Pro 是面向建筑、室内、景观、施工和产品设计等专业场景的三维建模工具,提供桌面建模、LayOut 二维文档、模型资源库、扩展程序及云端协作能力。其操作逻辑直观,适合从概念推敲、空间规划到图纸表达和方案汇报的完整工作流程。

AutoCAD LT Windows版
AutoCAD LT Windows版
Windows

AutoCAD LT 是 Autodesk 推出的专业二维 CAD 软件,适合建筑师、工程师、施工人员和设计师完成精确绘图、标注及文档编制。它支持 DWG 工作流、智能块、图形比较、计数、表格和 AutoLISP 自动化,