分页: 1 / 1

如何判断是硬件,编译器,内核问题,还是我的程序有Bug?

发表于 : 2016-07-13 23:53
科学之子
如何判断是硬件,编译器,内核问题,还是我的程序有Bug?
具体是这样的:
程序根据下标读取指定位置的字符串.
但是同样的下标,有时会读取到不同的字符串(好像(但不确定,只是感觉猜测)还是相邻的字符串)
正确运行的概率很高,但是几十次或一百多次运行之后就会出现错误
但我仔细检查代码还是没能发现任何问题(虽然我水平很菜,但这个程序的执行路径应该非常简单,而且检查了很多遍)
cpuburn对整数,逻辑运算之类的错误有效果吗?
大多数情况下下标都整正常读取
但有一定概率同一个下标会读取到不同的字符串?

调试记录片段(异常部分):

代码: 全选

代码定位:./interfaces.c:93
URL:http://fanyi.baidu.com/#en/zh/delimiters
下标:1354
time_length:61200
review_time_point:1468408584
review_time_point-time_length:1468347384
记录时间:1468424875
代码定位:./review.c:171
URL:http://fanyi.baidu.com/#en/zh/delicate
下标:1354
time_length:28800
review_time_point:1468453675
review_time_point-time_length:1468424875
记录时间:1468424875
代码定位:./interfaces.c:93
URL:http://fanyi.baidu.com/#en/zh/delimiters
下标:1355
time_length:61200
review_time_point:1468408584
review_time_point-time_length:1468347384
记录时间:1468424878
代码定位:./review.c:171
URL:http://fanyi.baidu.com/#en/zh/delimiters
下标:1355

Re: 如何判断是硬件,编译器,内核问题,还是我的程序有Bug?

发表于 : 2016-07-14 2:34
科学之子
猜测是 "gcc -Os"优化导致的
忘记从哪里看到的,说一般都是O2优化,Os优化可能会引发一些问题.
好像是编译内核的资料
我尝试不加任何优化参数编译试试...

Re: 如何判断是硬件,编译器,内核问题,还是我的程序有Bug?

发表于 : 2016-07-14 4:37
科学之子
没了优化也还是...
继续测试...
再不行就换编译器试试...
:Faint

Re: 如何判断是硬件,编译器,内核问题,还是我的程序有Bug?

发表于 : 2016-07-14 4:52
poloshiao

Re: 如何判断是硬件,编译器,内核问题,还是我的程序有Bug?

发表于 : 2016-07-14 7:07
科学之子
终于在代码逻辑上发现了一个Bug
果然还是我太菜 :Faint
继续测试看看有没有异常...