7、软件编程中的预防与调试策略

软件编程中的预防与调试策略

1. 预防性编程措施

1.1 编译器配置

定位和消除与语法相关的错误的最佳方法是配置编译器,使其对警告信息具有最高的敏感度。也就是说,要让编译器将警告视为错误,在出现警告时停止构建可执行文件。虽然这种策略可能会让人感到厌烦,但它能促使你编写更具防御性的代码。

1.2 不依赖编译器

尽管编译器能够识别与语法相关的问题,但你不应完全依赖它。编译器只是一个用于隔离错误的工具,并非最佳或唯一的工具。过去,人们会反复在脑海中追踪程序的执行路径,还会将代码拿给他人阅读。如今,随着个人计算机和高速处理器的出现,很多软件工程师只是快速编写代码,不断调整直到没有编译器警告,就认为程序没有问题了。但实际上,没有编译器警告并不意味着程序没有错误。你需要对尽可能多的执行路径进行单元测试,并让他人审查你的代码。

1.3 构建设置

始终确保有一个调试版本可用,即使你已经向客户部署了发布版本。这样,当客户在凌晨 3 点遇到安装问题时,你就可以使用相应的调试版本进行调试。没有什么比处理一个无法用调试器检查的问题更令人不安的了。

1.4 反编译器的威胁

为了保护知识产权,人们通常会在构建时不包含调试符号。因为存在一些反编译器工具,它们可以根据程序的调试版本重新生成应用程序的源代码。例如,Java 字节码丰富的符号格式使得逆向工程对 Java 应用程序构成了严重威胁。1996 年,Hanpeter van Vliet 开发并发布了第一个著名的 Java 反编译器 Mocha。之后,由于开发者的担忧,他曾将其从网站上移除,但后来又根据用户投票决定让它回归。从那以后,聪明的开发

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值