与ABRT建立接口

套接字应用程序接口

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

套接字路径:

/var/run/abrt/abrt.socket

第一行必须包含HTTP头:

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

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

强制键:

  • type - (字符串) 问题类型,请参见 支持的问题类型

  • pid(integer) process ID of the crashed procss, ranges from 0 to PID_MAX (/proc/sys/kernel/pid_max)

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

  • backtrace - (字符串)

  • reason - (字符串) 坠机原因

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

  • duphash - (字符串) 重复的哈希。散列放在Bugzilla的 Whiteboard 格式中的字段 abrt_hash:$duphash 。对于C/C++, duphash 是堆栈跟踪上前六个函数名称连接的SHA-1摘要。对于Python异常,它是堆栈跟踪的SHA-1摘要。

  • uuid - (字符串) 问题的本地标识符。内容可以与的相同 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 包装)。