C++で組んでいたときに、
if (data[419] ! = data2[419]) {
printf("diff = %d\n", data[419]-data2[419]);
}
としたら、なぜか diff = 0 と表示される、というバグが発生。
なぜなのか良く分からないが、data, data2 にデータを入れる前に全部の要素を0で初期化するとバグが取れた。
おそらくメモリリークしているのかと推測されるが、他のところがあまりに単純なコード過ぎてメモリリークを発見できず。
しかも、Linux だと発生せずに Windows 上だと発生する、というたちの悪いバグになっており、valgrind などでもうまく特定できず。
なんかよく分からないけど、とりあえずバグが取れたのでいいにしておこうかと思う。
0 件のコメント:
コメントを投稿