probe 或 kprobe 内核服务
用途
使用症状字符串记录错误。
库 (用于探测)
运行时服务库。
语法
int kprobe (probe_p)
probe_t *probe_p描述
探测器子例程将一个条目记录到错误日志中。 该条目由 errlog 子例程和 err_rec.h 头文件中定义的错误日志条目以及症状字符串组成。
探测 子例程是从应用程序调用的,而 克探针 是从内核和内核扩展调用的。 除了返回码之外, 探测 和 克探针 都具有相同的接口。
IBM软件应使用sys/sysprobe.h头文件,而IBMIBM 程序应包含sys/probe.h文件。 这是因为 IBM 症状字符串必须符合与非IBM 字符串不同的规则。 它还会告知任何电子支持应用程序是否将症状字符串路由到 IBM的 Retain 数据库。
参数
| 项 | 描述 |
|---|---|
| Probe_p | 是一个指向数据结构的指针,该数据结构包含错误记录的指针和长度,以及用于探测的数据。 错误记录在 errlog 子例程下描述,并在 err_rec.h中定义。 结构的第一个词是识别结构的这一版本的神奇数字。 神奇的数字应该设置为PROBE_MAGIC. 注意: PROBE_MAGIC在 probe.h 与 sysprobe.h 之间不同,以区分 IBM 症状字符串与非IBM 字符串。
探测器数据包含控制探测器处理的标志,症状字符串关键字的数目,后跟一个数组,该数组由每个关键字的一个元素组成。 |
标志
| 项 | 描述 |
|---|---|
| SSNOSEND | 指示不应将此症状字符串转发至自动问题打开工具。 应使用 SSNOSEND 的一个示例是用于调试目的的症状数据。 |
| 恩斯考德 | 这给出了指定的关键字的数量 (即) , Sskwds 数组中的元素数。 |
| 斯克夫兹 | 这是一个关键字/值对的数组。 这些关键字及其值在下表中。 I/S 值指示 关键字 和 值 是参考性的,还是记录的症状字符串的一部分。 括号中的数字表示 (如果适用) 最大字符串长度。 |
注: SSKWD_PCCS 值始终是必需的。 这是探测器的标识。 此外,对于 IBM 症状字符串, SSKWD_PIDS 和 SSKWD_LVLS 关键字也是必需的
如果 Probe_rec 结构中的 勃起 或 勃起 字段为:0那么不会传递任何错误日志记录,并且将使用症状字符串的其中一个缺省模板。 除非指定了 SSKWD_SRN 关键字,否则将使用指示软件错误的缺省模板。 如果是,那么会假定该错误是硬件错误。 如果您不想使用症状字符串来记录自己的错误,并且希望发生硬件错误,并且不想使用 SSKWD_SRN 值,那么可以使用错误标识 ERRID_HARDWARE_症状来提供错误日志记录,请参阅 /usr/include/sys/errids.h 文件。
探测器子例程的返回值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功 |
| -1 | 错误。 错误号变量设置为 |
| EINVAL | 指示无效参数 |
| EFAULT | 指示无效地址 |
返回 kprobe Kernal 服务的值
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功 |
| EINVAL | 指示无效参数 |
执行环境
探测 是从应用程序环境执行的。
克探针 是从内核和内核扩展执行的。 当前,不能在禁用中断的情况下调用 克探针 。
文件
| 项 | 描述 |
|---|---|
| /usr/include/sys/probe.h | 包含参数定义。 |