科技时代新浪首页 > 科技时代 > 学园 > 正文

Linux下的代码淬火技术(4)


http://www.sina.com.cn 2006年08月30日 09:25 IT168.com

   5.错误报告

    对于错误报告而言,根据开发的应用类型的不同,需要采取不同的处理方法。例如,如果开发的是命令行工具的话,常用的方法是通过把错误消息递给stderr来告知用用户出错情况。如果开发的是诸如嵌入式Linux应用之类的具有I/O能力的应用程序的话,错误报告的形式就多了,比如专门的日志或标准系统日志(syslog)。其中,syslog函数的原型如下所示:

    #include <syslog.h>
    void syslog( int priority, char *format, ... );

    对于syslog函数,我们需要提供优先级、格式化字符串等参数。它的用法类似于printf函数。优先级可以从这里选择一个:LOG_EMERG、 LOG_ALERT、LOG_CRIT、LOG_ERR、LOG_WARNING、LOG_NOTICE、LOG_INFO或者 LOG_DEBUG。 下面以实例说明如何使用syslog函数为系统日志生成一个消息:

#include <syslog.h>
           
            int main()
            {
           
              syslog( LOG_ERR, "Unable to load configuration!" );
           
              return 0;
            }

    程序执行后,位于 /var/log/_messages的系统日志更新如下:

 Aug 16 21:33:16 Ian test: Unable to load configuration!

    本例中,test是上面列出的程序名,Ian是主机名。系统日志的好处是可以记录许多的错误报告。凭借它,开发人员能够了解消息在哪里生成的、哪一个能够帮助理解问题等等。对于系统应用和守护进程来说,syslog的格外有用。

    除此之外,错误报告还有一个注意事项,那就是报告的错误一定要具体。为了能够让用户恰当的处理发生的错误,错误消息一定要唯一的标识出错误来。错误消息本身不能模棱两可,或者具有歧义性。

[上一页] [1] [2] [3] [4] [5] [6] [下一页]

本文导航:
·缓冲区溢出问题
·为分支语句提供备选方案
·自标识结构体
·错误报告
·自保护性函数
·编译器的支持

发表评论

爱问(iAsk.com) 相关网页共约18,600,000



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有