いそがし
社員旅行から戻ってきて、一週間分の作業を取り戻すべく……
とか思ったら、なんかデバッグで潰れまくる罠。
しかも、メモリバグで久々にダンプとにらめっこした。
C/C++における不可解なバグの殆どはメモリ破壊だと思う。
今回は連結リストの処理がバグっていて、
要素をつなぎ替える際に指しているポインタが古い場所を指しており、
4byteだけ破壊しているために起きるバグだった。
メモリのdiffとか久々にとりました。
C/C++のメモリ破壊に対応するにはもうこれらの言語レベルで組まないようにする、
という対策が必要なのかもなあ、ということを改めて感じた。
とはいえ、
C++ならvectorやlist(相当)を使うことで殆どのメモリ破壊を防ぐ事ができる。
そういう意味では、
やっぱり、使い方なんだよなあ、と思った次第。