unix下sdb命令详解( 六 )


4.字符串的搜索
在vi中,我们可以在命令方式下使用“/“或者“?”命令,从当前位置向后或者向前搜索某个字符串,在sdb中也同样可以完成这一点 。使用这两个命令我们可以查找源程序中某个或某类符号的出现 。之所以说某类,是因为我们可以用正规表达式来指定待搜索的串(也即在搜索串中可以使用*,?,[,],-,^这类特殊字符) 。
例如,为了查找myprog.c中argv出现在那些行上,可输入:
* /argv/
8: main(ini argc,char * argv[])
sdb将从当前行开始向文件尾搜索,到达文件尾之后又从文件头开始直至搜索到某个匹配的串或到达当前行为止 。
与/相反,?命令将从当前行向文件头方向搜索,因此如果我们将上述/argv/换成:
* ? argv?
14: printf("The %dth value" %s"tis BAD! n",i,argv[i]);
*
所得的结果一般是不同的 。
/或?命令之后的/或?并不是必须的 。另外如果要在同一方向上继续搜索上次搜索过的串,只需要直接输入/或者?即可 。
下一节:函数调用层次显示........

推荐阅读