要设置包含过滤器的断点,请将可选的 -if condition 修饰符语句添加到 stop 或 trace 命令的末尾。condition 可以是任何有效的表达式(包括函数调用),其返回值是布尔值或输入命令时所用语言表示的整数值。
可以将函数调用用作断点过滤器。在以下示例中,如果字符串 str 中的值是 abcde,则在函数 foo() 中停止执行:
(dbx) stop in foo -if !strcmp(“abcde”,str)
您可以使用包含函数调用的 –if 选项:
stop in lookup –if strcmp(name, "troublesome")==0
下面是使用包含监视点的条件过滤器示例:
(dbx) stop access w &speed -if speed==fast_enough