Linux下的代码淬火技术(6) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
http://www.sina.com.cn 2006年08月30日 09:25 IT168.com | |||||||||||
9.内存调试技术 在Linux中,有许多程序库都可以用来调试动态内存管理。最常见的 Electric Fence是一个功能强大并且能及时发现内存错误的库,它不仅可以利用低层处理器的内存管理单元MMU的段故障来捕获内存错误,而且还能侦察数组越界问题。 10.编译器的支持 实际上,编译器本身就是一个识别代码问题的无价之宝,当构建程序时,一定要使用-Wall项来启用报警功能。 此外,还可以利用-Werror把警告作为错误对待,从而停止对源文件进行进一步的编译,这选项对于大型应用程序格外有用。当我们构建有多个源文件组成的应用程序时,我们可以将两个选项组合使用。如下例所示:
如果我们想让源代码能够兼容ANSI,我们还能利用编译器来进行检查,用法如下所示:
确认变量已经初始化是非常有用的,除了使用报警选项外,还需要使用优化选项,因为只有经过优化的代码才能使用数据流信息:
要想了解更多,可以参考gcc的main页。 三、 小结 本文详细介绍了代码淬火技术的概念以及Linux下常用的几种代码淬火方法。在下一篇文章中,我们将继续介绍用来提高Linux应用程序安全性和可靠性的开源工具和代码追踪技术。
|