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

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


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

   9.内存调试技术

    在Linux中,有许多程序库都可以用来调试动态内存管理。最常见的 Electric Fence是一个功能强大并且能及时发现内存错误的库,它不仅可以利用低层处理器的内存管理单元MMU的段故障来捕获内存错误,而且还能侦察数组越界问题。

    10.编译器的支持

    实际上,编译器本身就是一个识别代码问题的无价之宝,当构建程序时,一定要使用-Wall项来启用报警功能。

    此外,还可以利用-Werror把警告作为错误对待,从而停止对源文件进行进一步的编译,这选项对于大型应用程序格外有用。当我们构建有多个源文件组成的应用程序时,我们可以将两个选项组合使用。如下例所示:

    gcc -Wall -Werror test.c -o test

    如果我们想让源代码能够兼容ANSI,我们还能利用编译器来进行检查,用法如下所示:

    gcc -ansi -pedantic test.c -o test

    确认变量已经初始化是非常有用的,除了使用报警选项外,还需要使用优化选项,因为只有经过优化的代码才能使用数据流信息:

    gcc -Wall -O -Wuninitialized test.c -o test

    要想了解更多,可以参考gcc的main页。

    三、 小结

    本文详细介绍了代码淬火技术的概念以及Linux下常用的几种代码淬火方法。在下一篇文章中,我们将继续介绍用来提高Linux应用程序安全性和可靠性的开源工具和代码追踪技术。

[上一页] [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

新浪公司 版权所有