2015年6月8日月曜日

なんだか良く分からないバグが取れた

C++で組んでいたときに、

if (data[419] ! = data2[419]) {
   printf("diff = %d\n", data[419]-data2[419]);
}

としたら、なぜか diff = 0 と表示される、というバグが発生。
なぜなのか良く分からないが、data, data2 にデータを入れる前に全部の要素を0で初期化するとバグが取れた。


おそらくメモリリークしているのかと推測されるが、他のところがあまりに単純なコード過ぎてメモリリークを発見できず。
しかも、Linux だと発生せずに Windows 上だと発生する、というたちの悪いバグになっており、valgrind などでもうまく特定できず。

なんかよく分からないけど、とりあえずバグが取れたのでいいにしておこうかと思う。


0 件のコメント:

コメントを投稿