编程技巧之调试日志

博客介绍了程序调试中两种开关方法。宏定义开关可通过预先的宏技巧,在调试和发行版本间切换,方便查看变量运行状态;变量开关能在外部调试时动态切换版本状态。最后对比了两种方法的异同,宏开关在发行版不占空间,变量开关切换更简便。

1.宏定义开关方法

我们在调试程序的时候,经常会需要知道在运行时某些变量的状态(值),我们可以通过定义调试开关,来生成debug调试版本或者release最终发行版本程序,先看个简单的例子:

    void main(void)
    {
   
    
       int runtime_flag;//举例一个流程时的判断标志   
        /***注释标记1***
        省略一些变量定义或函数运行
        这些函数可能会影响runtime_flag的值
        ***************/    
       if(runtime_flag == 1)
       {
   
    
        /***注释标记2***
        省略一些函数运行
        这些函数可能会影响runtime_flag的值
        ***************/   
       }
       else
       {
   
   
        /***注释标记3***
        省略一些函数运行
        这些函数可能会影响runtime_flag的值
        ***************/     
       }
        /***注释标记4***
        省略一些函数运行
        这些函数可能会影响runtime_flag的值
        ***************/         
    }

以上我们举了一个比较简单的例子说明,在类似代码中,我们如果需要知道某一变量运行时的状态,比如想知道注释标记3处的runtime_flag的值,我们该怎么办?

一般调试,是通过编译调试软件进入调试debug模式下加断点等方法。

但是,很多场景下,尤其是产品项目已落地测试维护的产品,我们是没有办法在现场通过调试软件进行源码分析,此时通过预先的宏技巧,来实现调试开关就显得尤为关键。让我们直接上源码:

    /*宏调试开关*/
    #define debug
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值