SystemTap新手指南

 主页   资讯   文章   代码   电子书 

6.2. 运行时错误和警告

运行时错误和警告发生在SystemTap安装了检测代码并开始收集数据的时候。

⁠WARNING: Number of errors: N, skipped probes: M

在运行时出错并/或跳过某些探针。由于诸如给定时间不足以执行完处理程序的原因,某些探针没有得到执行,NM就是这些探针的数目。

⁠division by 0

代码里出现了除零错误。

⁠aggregate element not found

在一个空的聚集变量上调用除@count以外的提取函数。这就跟除零差不多。关于聚集变量的更多信息,参见3.5 数组操作中的“使用聚集变量”部分。

⁠aggregation overflow

聚集变量数组中包含太多的键。(译注:前文有提及,数组的索引中最多只能使用九个键)

⁠MAXNESTING exceeded

过多的嵌套函数调用。默认函数调用层级是10。可以使用-DMAXNESTING=NN重编译脚本来修改这个限制。

⁠MAXACTION exceeded

处理程序太长了。默认一个探针的处理程序里面最多只能执行1000个语句。可以使用--DMAXACTION=NN-DMAXACTION_INTERRUPTIBLE=NN重编译脚本来修改这个限制。

⁠kernel/user string copy fault at ADDR

处理程序试图把一个来自内核或用户空间的字符串拷贝到无效地址ADDR

pointer dereference fault

指针解引用时发生了一个错误,可能发生在诸如计算目标变量的时候。