软件可调试性设计

本文强调在软件设计初期纳入可调试性设计的重要性。它不仅有助于快速定位和解决问题,还能在系统高负载下监控资源使用情况。文章介绍了实现这一目标所需的设计要素:错误/告警/提示信息及统计信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 摘要

        本文主要阐述软件设计中,可调试性设计的必要性和重要性以及可实施措施

 

软件设计,尤其是大规模软件设计,要从系统架构设计之初就将可调试性设计纳入其中。其重要性有两个方面。一是功能方面,加入可调试性设计有助于发现、定位问题;二是性能方面,有助于在系统高负荷、大容量运行情况下,发现系统资源消耗情况。当然如果既有功能方面的问题,又有性能方面的问题,那就是性功能方面的问题了,本文不予阐述。

 

设计的要素主要包括两个方面,一是错误/告警/提示等信息;二是统计信息。前者主要是用在功能方面,比如,设定不同级别打印或者输出日志;后者主要用在性能分析,举个例子,加入有一款代理软件proxy,一个链接出现问题,那么处理流程中需要设计恰当的错误/告警/提示等信息;但是如果1个,100个,10000个链接都正常,当1000,000个链接时出现问题,怎么办?这个时候,就需要统计信息了。

 

统计信息一定要准确,否则没有意义。

 

错误/告警/提示等信息要适可而止,no news is good news。看到很多人写如此代码,并且信誓旦旦说是给测试人员看,以此证明自己是对的:

int func(int a, int b)

{

        printf("Entering %s/n", __FUNCTION__);

 

       /* do something */

 

        printf("Leaving %s/n", __FUNCTION__);

}

 

是在是可怜,调试代码用得着这样?

 

没事别 发言,有事别闷声!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值