[1259] Re:状況(日記?)
投稿者:(ぱ)こと管理人
2009/05/12 02:16:16
>> 見間違いかもしれないけど、0.2.0はメモリーストレージを使ってないような・・・
>見間違いかと思います (^^;
>了解しました、構文解析の所を今見た所確かにそうです。失礼いたしました。
>しかし、以前メモリートラブルでと話したとき、いつもmallocの中でこけてた
>んです。
補足ですが、構文解析部分はMEM_Storageを使用してまとめて開放していますが、
コンパイルにより作られるDVM_Executableは各オブジェクトを個々にMEM_malloc()して
作っています。こちらは、配列のオーバーランなどすると、次のmalloc()で
こける可能性が高いと思います(いまどきはそうでもないかも)。
malloc()で確保した領域を配列のオーバーランで壊したことを検出するために、
MEMではアプリケーションに渡す領域の前後を0xCDで埋めていて、これをチェックする
関数MEM_check_all_blocks()を用意しています。実際これでバグを見つけたことも
多いのですが、最近はLinux環境ではとっととvalgrindを使っていたりします。
Windowsで、フリーなvalgrind相当品があるかどうかは不勉強にて知りません。