文件名称:排错工具-vmware虚拟机中centos安装 centos安装qt的教程图解
文件大小:8.63MB
文件格式:PDF
更新时间:2024-06-29 06:30:01
程序设计实践
5.6 排错工具 排错系统并不是惟一能帮人检查程序错误的工具。还有许多程序也能帮我们的忙,例如 从长长的输出里选出要点,发现其中的奇怪现象;或者重新安排数据,使人更容易看清情况 是如何发展变化的,等等。很多这类程序都是标准工具箱的组成部分,还有的则需要我们自 己写,以帮助发现一些特殊错误,或用于分析特定的程序。 在这一节里我们将描述一个很简单的程序,叫 s t r i n g s,它的特殊用途是用来检索一些 大部分都是非打印字符的文件,例如可执行程序或某些文字处理系统使用的神秘二进制文件 等。在这种文件里常常隐藏着一些很有价值的信息,如文档正文、错误信息、没有给出文档 的选择项、文件和目录的名字或者程序里需要调用的函数名字等等。 我们还发现,s t r i n g s对于在其他二进制文件里找出正文信息也很有用。图像文件里经 常包含有A S C I I串,指明建立它们的程序名字;压缩文件和归档文件 (如z i p文件)里可能包含许 多文件名字。用s t r i n g s也可以发现这些东西。 U n i x系统已经提供了一个 s t r i n g s的实现,虽然它与这里要介绍的有些细微差别。那个 程序能识别它的输入是否为一个程序,它对程序只检查其中的正文和数据段,而忽略其中的 符号表。打开它的- a选项可以强迫它读取整个文件。 s t r i n g s的功能就是从二进制文件里抽取出 A S C I I文本,以便使人能阅读这种文本,或 者用其他程序来处理它们。如果一个错误信息不带任何标识,要想知道它是由哪个程序产生 就很不容易,更不必说是为什么产生了。在这种情况下,可以用下面的命令查找某个受怀疑 的目录: 这样就有可能找到错误信息的来源。 函数s t r i n g s读一个文件,打印出其中所有至少是连续的 M I N L E N = 6个可打印字符形成 的字符串: 函数p r i n t f的格式串% . * s由下一个参数 ( i )取得要求打印的字符串长度,因为在参数串 (b u f) 里没有结尾的空字符。 这里用d o - w h i l e t循环找到每个这种串,将它们打印,遇到 E O F时结束。采用在循环最后检 查文件结束的方式,可以让 g e t c和串处理循环共用同一个结束条件,并使一个 p r i n t f就能 第 5章 排 错计计105 下载