OS X Yosemite (10.10.5) でC(GNU99)でpthreadを用いたマルチスレッドプログラムを書いていて、なかなかerrorが取れなかったときに以下ツイートを起点にした議論を見て、ValgrindのHelgrind toolが使えそうということで使ってみた。 pthread_create に渡した callback から return NULL する以降のタイミングで時々にクラッシュするって何だろう。ローカル変数のバッファオーバーランかなぁ— Kazuho Oku (@kazuho) January 4, 2016 ValgrindはDarwinにも対応しており、ソースからコンパイルすればインストールできる。使い方は、コンパイル時に-gでソースレベルのデバッグ情報を付与し、valgrind --tool=helgrind ./a.outと実行するだけで良い。 ==25