2007-10-06から1日間の記事一覧

FThreadバグ

スレッドキャンセル機構にバグがあった。修正。実行中のスレッドをcancel()するのは問題ないのだが、既に終了しているスレッドのFThreadクラスインスタンスをcancel()すると既にfreeされたメモリを参照してしまう。原因はスレッドキャンセルのフラグのdelete…

Visual C++: "HEAP: Free Heap block modified after it was freed"

_heapchk()のassertを怪しそうな場所に入れまくるといいらしい。今回はそれでは発見できず、適当にデバッガで遊んでいたらそれらしいアドレスがポインタに入っているのを偶然発見できたので助かった。デバッグ用メモリ管理ラッパやLinux使えるならValgrindを…