码迷,mamicode.com
首页 > 其他好文 > 详细

记一次神秘的BUG

时间:2015-04-10 20:16:42      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:linux   c   gdb   valgrind   

int CheckConfig(APPCFG* cfg)
{
	int i;
	char IndexFile[56];
	for(i=0;i<cfg->webnum;i++)
	{
		printf("i=%d\n",i);
		memset(IndexFile,0,sizeof(IndexFile));
		sprintf(IndexFile,"%s/%s",cfg->pwebs[i].webpath,cfg->pwebs[i].homepage);
		if(access(cfg->pwebs[i].webpath,F_OK)) 
		{
			fprintf(stderr,"检查站点%d\n",i);
			return -1;
		}
	}
	return 0;
}


关于这么个东西会死循环我也是百撕不得骑姐。


原因:字符数组 IndexFile开得太小,赋过多字符则覆盖了i值。

最后知道真相的我眼泪掉下来。以此为记。

记一次神秘的BUG

标签:linux   c   gdb   valgrind   

原文地址:http://blog.csdn.net/geqiandebei/article/details/44983605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!