与ABRT接口

套接字应用程序接口

socketapi允许创建新问题。Python和Java钩子使用它将所需的数据传递给 abrtd .

套接字路径:

/var/run/abrt/abrt.socket

第一行必须包含HTTP头:

POST / HTTP/1.1\r\n\r\n

然后 key=value 以分隔的对 \0 . 服务器需要另一个 \0 在留言的最后。

强制键:

  • type - (string) 问题类型,请参阅 支持的问题类型 .

  • pid(integer) 0 to PID_MAX (/proc/sys/kernel/pid_max)

  • executable - (string) 受影响的可执行文件的路径

  • backtrace(string)

  • reason - (string) 坠机原因

为了确保可以通过report gtk或report cli将问题报告给Bugzilla,您必须添加具有以下内容的键:

  • duphash - (string) 重复哈希。散列放在Bugzilla的 Whiteboard 格式中的字段 abrt_hash:$duphash . 对于C/C++,内容 duphash 是stacktrace上前六个函数的名称串联的SHA-1摘要。对于Python异常,它是stacktrace的SHA-1摘要。

  • uuid - (string) 问题的本地标识符。内容可以与的相同 duphash .

或者,服务器接受中列出的其他元素 ABRT收集的元素 .

如果没有错误,服务器将以以下方式响应:

HTTP/1.1 201 Created\r\n\r\n

400 出错时的状态代码。

Python 钩 可以作为套接字API用法的示例。

DBus接口

dbusapi文档 org.freedesktop.problems 作为 abrt-dbus 打包或在线http://jfilak.fedorapeople.org/ProblemsAPI/re01.html。

python应用程序接口

pythonapi的文档可以在 python3-abrt(5) 手册页(手册的一部分) python3-abrt 包装)。