自动汇报错误工具(ABRT)

2023-05-16

ABRT 是一套抱著三个目标而开发出来的规模工具:

简化用户汇报软件问题的程序
在提交给开发者的报告中提供全面的信息
提供重要的故障数据以便排列优先次序及安排支持
假如你有兴趣协助开发者排列他们的工作的优先次序,而你愿意提供匿名的报告,请利用以下指令启用自动汇报

abrt-auto-reporting enabled
详情见 迷你报告的网上文档及 abrt-auto-reporting(1)。

目录

ABRT 工作流程
ABRT 结构
从 coredump 档读入 backtrace 的样例:
通知
安装
设置
向 CentOS 的 Bug 追踪系统报告
自动提交故障数据
参考

  1. ABRT 工作流程
    在最常用的编程环境下挂入专用的故障处置器
    为 C/C++ 应用程序注册故障时用的 core dump 程序
    为漏网的 Python 异常注册处置器
    为漏网的 Ruby 异常注册处置器
    提供 JNI 代理器检测漏网的 Java 异常
    在系统日志内寻找可疑的符串

检测内核 oops
检测 Machine-check 异常
在 Xorg 的日志内检测 Xorg 故障
检查描述问题的文件是否存在
检测及检阅 kdump 创建的内核转储档
提供命令行及图像界面工具(abrt-cli 及 gnome-abrt)发送报告及检阅已发报告
在 ABRT 的故障数据服务器上收集数据。ABRT 服务器的主要用途是协助维护者安排工作的优先次序,及就已知或已修正的问题向用户提供指引。
2. ABRT 结构
一旦检测到问题,ABRT 便会在缺省的路径创建一个目录,然后将收集到的所有数据以普通文档的方式放进该目录。

用来创建问题目录的缺省路径是:

/var/spool/abrt(CentOS 6)

/var/tmp/abrt(CentOS 7)

每个问题目录内最有趣的文件包括:

executable

出现问题的执行档的绝对路径

package

该执行档的所属 rpm 组件

count

该问题在系统上出现的次数

time

该问题首次出现的 unix 时戳

coredump

编译程序故障时的 core dump 档(C/C++)

backtrace

活动调用函数的清单

dso_list

故障时已装入的动态函数库清单

var_log_messages

系统日志内有关此问题的记录

如果你需要手动式检阅问题目录,或只是想明白问题是关乎什么,ABRT 为你提供数个好用的规模工具。这些工具的名称都以 abrt-action 起首,因此你可以进入问题目录,输入 abort-action 再按 Tab 键。

  1. 从 coredump 档读入 backtrace 的样例:
    ABRT 不会自动从 core dump 档读入 backtract,因为这个动作需要侦错用的数据。

你可以通过 debuginfo-install 指令手动安装 gdb 推荐的侦错用数据:

$ gdb $(cat executable) -c coredump
你也可以让 ABRT 为你做所需的事情:

$ abrt-action-analyze-ccpp-local
abrt-action-analyze-ccpp-local 启用所有 debug yum 软件库,下载违漏的侦错数据组件,在 /var/cache/abrt-di/ 下解压它们,执行 gdb 并将输出存于 backtrace 档内。

其实 ABRT 容许用户通过命令行(abrt-cli)及图像界面(gnome-abrt)以更舒服的方式处理这些问题。

  1. 通知
    ABRT 提供了数个可设置的方法通知用户有关操作系统的故障。缺省的通知方法有桌面通知,发电邮姶 root(采用缺省 MTA,设置可在 /etc/libreport/events.d/mailx_event.conf 内修改)及控制台通知,例如

ABRT has detected 1 problem(s). For more info run: abrt-cli list --since 1414407227
5. 安装
在无头系统执行以下指令:

$ yum install abrt-cli
或者在桌面执行

$ yum install abrt-desktop
abrt-cli 和 abrt-desktop 是中继组件,将会为你的系统引进最有用的组件。

  1. 设置
    配置文件都收藏在:

/etc/abrt

/etc/libreport

$HOME/.config/abrt

你提供给ABRT GUI的配置选项的值被存储在GNOME Keyring里。

  1. 向 CentOS 的 Bug 追踪系统报告
    由 CentOS 7.1.1503 起,ABRT可以向 bugs.centos.org 报告故障。为了发送 bug,你必须在 bugs.centos.org 创建你自己的账户,并且在提交 bug 报告之前 ABRT 会提示你提供你帐户的详细信息。

这个功能需要 coredump 产生的 backtrace 信息,ARBT 有能力在本地或远程使用 https://fedorahosted.org/abrt/wiki/AbrtRetraceServer 生成 backtrace 信息,本地生成涉及到从 /var/cache/abrt-di 下载调试信息包,远程生成涉及到上传 coredump 到因特网上。

ABRT 提供给你两个选项去产生 backtrace 信息,因为 coredump 文件也许包含一些敏感信息,本地生成的 backtrace 也许需要下载 GiBs 的调试信息包。然而,追溯服务在开发时着重于安全,它对用户的好处非常值得关注。

因为 ABRT 的 bug 报告文件是公开的,故障数据经常包含敏感的安全类信息,例如密码,所以报告过程包括了两步来检验发布的数据。第一步,ABRT 标出可疑的字符串,你也可以搜索自己的自定义字符串。第二步,你可以从发布的数据集中排除掉相关文件。

  1. 自动提交故障数据
    除了检测问题及创建全面的错误报告外,ABRT 亦提供了一个功能,在检测到问题时自动为故障提交名为微报告(uReport)的精简、匿名描述。

微报告是匿名的,它们不含甚何有关 IP 地址、主机编号或主机名称的数据、甚至不含内存或文件系统的快照。微报告的已修辑至剩下最扼要的内容,有助服务器辨认重复的问题。

ABRT 服务器收集微报告,以便能为开发者提供故障数据,有助安排工作的优先次序。

你可以通过下列指令启用 ABRT 的这个功能:

$ abrt-auto-reporting enabled
在缺省的设置中,ABRT 把故障数据发送至 ABRT 服务器

  1. 参考
    有关 ABRT 如何运作的详情,请拜访此连结:http://abrt.readthedocs.org/en/latest/

要是你不能采用某些功能,这里或许会有答案:http://abrt.readthedocs.org/en/latest/faq.html

如果你对 ABRT 的高级功能有兴趣,请查阅它的样例页:http://abrt.readthedocs.org/en/latest/examples.html

ABRT 计划位于 github.com 上:https://github.com/abrt

Translation of revision 10

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动汇报错误工具(ABRT) 的相关文章

  • linux:Systemd使用(systemctl)

    系统服务管理工具systemd是为了便于linux用户操作系统服务的管理 xff0c systemd提供了systemctl命令工具进行systemd的各项操作 Systemd的版本 systemd version systemd和syst
  • C++面试宝典:进程间通讯方式概述

    1 管道 我们来看一条 Linux 的语句 netstat tulnp grep 8080 学过 Linux 命名的估计都懂这条语句的含义 xff0c 其中 是管道的意思 xff0c 它的作用就是把前一条命令的输出作为后一条命令的输入 在这
  • ubuntu16.04LTS更换阿里源

    sudo gedit etc apt sources list 替换 xff1a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 deb cdrom Ubuntu 16 04 LTS Xenial
  • a++多线程下出现消失的请求现象

    a 43 43 多线程下出现消失的请求现象 a 43 43 多线程下出现消失的请求现象是一个常见的多线程运行结果错误的例子 我们先来看一下a 43 43 代码执行图 xff1a 按照我们想让它执行的顺序执行 xff0c 结果应该是3 但在多
  • 2013年十佳优秀主席将获得传智播客.NET学院培训名额

    2013年CSDN高校俱乐部十佳优秀主席将会免费获得价值9580元的传智播客 NET学院免费培训名额 培训时间为2015年之前有效 优秀主席评选截止日期为10月底 截止日期之前请提交你的评选内容 评选内容是俱乐部介绍 自我介绍和俱乐部活动介
  • MySQL各数据类型的特点

    MySQL各数据类型的特点 常用的整数类型 常见误区 int n 是设置数据最大的显示宽度 xff0c 所占的存储空间不会改变 常用的浮点类型 123456789 987654321 61 decimal 18 9 占用9个字节 涉及财务等
  • Redis持久化——RDB、AOF

    Redis持久化 RDB AOF 什么是持久化 redis所有数据都保存在内存中 xff0c 对数据的更新异步保存到磁盘上 在Redis中持久化的方式有两种 xff0c 一种是快照持久化 xff0c 一种是AOF持久化 xff0c 各有各的
  • Redis主从复制—看完这篇你就懂了

    Redis主从复制 主从复制 xff0c 是指将一台Redis服务器的数据 xff0c 复制到其他的Redis服务器 前者称为主节点 master leader xff0c 后者称为从节点 slave follower xff1b 数据的复
  • 轻松搞定单例模式以及线程安全等问题

    单例模式 单例模式 xff08 Singleton Pattern xff09 是 Java 中最简单的设计模式之一 这种类型的设计模式属于创建型模式 xff0c 它提供了一种创建对象的最佳方式 这种模式涉及到一个单一的类 xff0c 该类
  • 设计模式之原型模式

    原型模式 定义 xff1a 指原型实例指定创建对象的种类 xff0c 并且通过拷贝这些原型创建新的对象 不需要知道任何创建的细节 xff0c 不需要调用构造函数类型 xff1a 创建型 适用的场景 类初始化消耗较多资源 xff08 比较重的
  • 设计模式之外观模式

    外观模式 概念介绍 定义与类型 定义 xff1a 又叫门面模式 xff0c 提供了一个统一的接口 xff0c 用来访问子系统中的一群接口外观模式定义了一个高层接口 xff0c 这个接口使得子系统更容易被访问或者使用类型 xff1a 结构型
  • Mac无法连接本地Linux服务器 无法ping通

    遇到的问题 xff1a 虚拟机是从Win环境下复制到Mac上的 xff0c 在Win电脑下可以直接使用Xshell远程连接 xff0c 但在Mac下 xff0c 无法连接而且Ping不通 虚拟机使用的是CentOS 7版本 解决方案 查看M
  • gazebo视角设置问题

    How can I make my objects robot appear in image raw topic when using Gazebo camera plugin Initial view after gazebo star
  • DISM命令使用小结

    DISM命令使用小结 文章目录 DISM命令使用小结操作WIM镜像说明演示 操作系统映像说明添加功能启用本地策略启用Hyper V 操作WIM镜像 说明 REM 制作镜像并添加一个分卷 dism capture image imagefil
  • ZYNQ7000-AXI GPIO详解

    摘要 AXI GPIO是ZYNQ的一个IP核 xff0c 它能够将PS侧的AXI4 Lite接口转成PL侧的IO口 xff0c 可解决PS侧IO口不够用的问题 本文就AXI GPIO的概念 作用 配置与使用做了详细说明 xff0c 展示了示
  • Android Dialer源码分析之去电流程

    Android的拨号流程 xff0c 从拨号盘的点击拨号按钮开始 xff0c DialpadFragment java span class token annotation punctuation 64 Override span spa
  • 区块链-PancakeSwap抢跑机器人

    核心思路 监听txpool xff0c 直到检测匹配符合我们的条件时购买提高gas费实现插队 核心技术 ethers或web3 xff0c 本文采用etherserc20 核心方法 1 通过ehters提供的监听方法 xff0c 监听链上的
  • ubuntu下载安装python

    背景 fuzzbench最近又重新更新了python的版本要求是python3 10 8及以上版本 xff0c 但直接使用apt get install 无法下载这一版本 xff0c 会报错无法找到 xff0c 因此记录一下解决这一问题的全

随机推荐

  • STC USB-CDC 虚拟串口使用

    STC USB CDC 虚拟串口使用 目前该功能只能在STC8和STC32G单片机上实现该功能 比起WCH的单片机 xff0c 这一点要远强于STC的USBCDC功能了 xff37 xff23 xff28 随便一个 xff18 位单片机上都
  • kali 卡在 started gnome display manager(更新gnome导致,非磁盘满)

    手贱更新到gnome3 解决方案 xff1a 1 进入急救模式 xff0c 我的是在grub选择界面选择advanced 那个选项里面进入的 2 先卸载桌面环境 http www cnblogs com wanghuixi p 787580
  • Pyhton语音播放

    用Pyhton实现语音播放的功能 我们都知道python比较简单 xff0c 能够实现的功能比较全面 xff0c 而且 xff0c 他还有一些你可能想不到的功能呢 xff01 今天我就来说一说如何用python实现语音播放的功能 首先呢 x
  • 控制台运行java

    控制台执行java 新建java代码 新建一个记事本文件 xff0c 将文件名改为HelloWorld java xff0c 注意 xff1a 后缀是 java 若没有显示文件后缀 xff0c 可以在资源管理器打开显示后缀 xff0c 然后
  • Ubuntu系统主机如何免密登录服务器

    一 主机端操作 Ubuntu系统主机终端执行 cd 命令 xff0c 切换到用户目录下 在用户目录下执行 ll a 执行 cat ssh id rsa pub 获取公钥并复制公钥准备粘贴到服务器 二 服务器端操作 登录服务器后 xff0c
  • 【报错】GitHub 配置域名但是显示 Domain does not resolve to the GitHub Pages server... 怎么办

    应该只是域名解析需要时间 xff0c 反正我1小时后看就正常了 xff08 提示变绿了 xff09 xff0c 等等吧 xff08 24小时内都正常 xff09
  • 计算机论文常见词汇

    quantization kw nt ze n n 量子 量子化 xff1b 分层 xff1b 数字化 differentiating 英 d f ren e t 美 d f r n et v 区别 xff0c 区分 xff1b 使不同 x
  • 每日固定时间执行一次的shell实现

    在不使用crontab定时任务的情况下 xff0c 我们如何去实现每日定时执行某个任务的工作呢 xff1f 我遇到了类似问题 xff0c 遂转换思路 xff0c 花几分钟写了个小脚本实现如下 xff1a bin bash 每日7点执行 ct
  • FTPClient上传文件storeFile失败,没有异常,切换目录操作可以成功

    FTPClient上传文件storeFile失败 xff0c 没有异常 xff0c 切换目录操作可以成功 解决方法 xff1a 有没有设置被动模式 防火墙 有没有设置被动模式 要执行下面的语句 ftpClient span class to
  • 知识图谱-命名实体-关系-免费标注工具-快速打标签-Python3

    知识图谱 命名实体 关系 免费标注工具 快速打标签 Python3 一 功能介绍1 代码文件夹结构2 运行环境3 自定义命名实体 关系模板4 导入文件5 选择自定义实体和关系文件6 文本标注7 撤销和取消标注8 导出和导出并退出系统9 导出
  • Ubuntu报错:Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

    之前在Ubuntu系统安装Navicat的时候出现了这样的问题 xff0c 难为自己半天 首先是下载文件 xff0c 出现报错 xff1a navicat16 mysql cs AppImage error while loading sh
  • linux中crontab的jar文件定时任务失败原因记录

    本文章作为备忘 xff0c 若能解决朋友们的遇到的问题 xff0c 再好不过 在创建定时任务时 xff0c 所有的路径都需要写绝对路径 xff0c 包括配置文件 若定时文件为定时执行sh文件 xff0c 而sh文件中需要的配置文件也需要写绝
  • docker安装MongoDB以及redis

    一 安装Redis 以redis 4 0 9版本为例 docker pull redis 4 0 9 span class token function mkdir span usr local docker redis data span
  • linux安装好的mysql rpm -qa |grep mysql不见

    输入 xff1a rpm qa grep i mysql
  • MariaDB导入XXX.sql文件

    使用的 MariaDB5 5 52 开启数据库服务 xff1a systemctl start mariadb 要使用该脚本 xff0c 登录数据 xff0c mysql u root p 根据提示输入你安装数据库时需设置密码 xff0c
  • BaseOs之:Error: No available modular metadata for modular package

    文章目录 Error No available modular metadata for modular package先下载rpm包 xff1a 安装modular metadata生成工具 随便找一个目录 xff0c 执行git clo
  • BaseOs之:网络yum源部署

    文章目录 参考阿里mirror aliyum源 x86 arm source站点目录结构 简单分析 每个目录站点详细结构 x86 64为例 简单分析 制作x86 64的yum源 创建Packages与debug目录 复制x86 64 noa
  • Shell脚本加入开机自启动的方法:

    Shell脚本加入开机自启动的方法 xff1a Linux中脚本设定开机自启动 方法一 xff1a 1 xff0c 在某个目录下创建脚本 xff1a 例如 xff1a root hello wei sh span class token p
  • createrepo

    createrepo 是一个对rpm 文件进行索引建立的工具 大体功能就是对指定目录下的rpm文件进行检索 xff0c 把每个rpm文件的信息存储到指定的索引文件中 xff0c 这样方便远程yum命令在安装更新时进行检索 看下creater
  • 自动汇报错误工具(ABRT)

    ABRT 是一套抱著三个目标而开发出来的规模工具 xff1a 简化用户汇报软件问题的程序 在提交给开发者的报告中提供全面的信息 提供重要的故障数据以便排列优先次序及安排支持 假如你有兴趣协助开发者排列他们的工作的优先次序 xff0c 而你愿