与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
包装)。