事の始まり 研究でプログラムを書いていたときの話。 ローカル(Mac OS)では問題なく動作していたプログラムが、サーバ(Linux)に移した途端なぜか Segmentation Fault でクラッシュするということがあった。 セグフォは許可されていないメモリ領域にアクセスした時に起こるエラーで、経験上 配列へのアクセスでミスをしているパターンが多い。 どうせ今回もそのパターンだろうと思ったけど、何度確認してもおかしいところは見つからない。 特にそのプログラムではきちんとテストを書いていたので、配列へのアクセスミス程度であればすぐに気づくはずだった。 埒が明かなかったので、今度は標準ライブラリの関数の使い方にミスがないかをチェックしていくことにした。 (そのプログラムでは memcpy を多用していたので、もしかすると memcpy の第1引数と第2引数の順番を間違えたのかも…と思っての