1,我们在用gdb跟踪程序的时候,发现有些变量不是很好的跟踪调试,这个时候加全局变量可以更好的用gdb跟踪,而且我们在最开始写代码调试的时候用gdb调试,但是我们在代码进入集成和终试的时候再用gdb就不合适了,这个时候我们需要打印每个接口函数里面的数值,这样的话我们用打印开关或者打印函数来辅助我们来查找问题,所以我们定位我们的问题的时候要分情况,开发初期我们用gdb作为主要手段,打印作为辅助手段,而在进入集成的时候主要用打印函数和打印开关来判断那个函数返回出错和打印参数的正确与否。
举例说明:
#define MAX_PORT 80
float g_alm_real_gather[MAX_PORT] = {0.0};
unsigned int g_almpmswitch = 0;
int opt_get_almpm_lowgather()
{
//收无光
float ucalm =0.0;
if(0 == opt_hwm_get_laser_almpm_iop(ucport_cfg,&ucalm))
{
g_alm_real_gather[ucport_cfg - 1].iop = ucalm;
if(1 == g_almpmswitch)
{
g_write_log("opt_get_almpm_lowgather:opt_hwm_get_laser_almpm_iop get iop = %lf\n",ucalm);
}
}