Oracle® Solaris Studio 12.4:使用 dbx 调试程序

退出打印视图

更新时间: 2015 年 1 月
 
 

使用条件过滤器限定断点

要设置包含过滤器的断点,请将可选的 -if condition 修饰符语句添加到 stoptrace 命令的末尾。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