私は最近、マルチメディアライブラリであるSFMLをいじっています。私は C# を使用しているので、当然のことながら、最新の 2.0 バージョンで SVN から取得できる .Net バインディングを使用しました。しばらくいじり回した後、Text オブジェクト (テクスチャ フォントの描画に使用されるオブジェクト) を使用しているときに、アプリケーションがハングアップすることがあることに気付きました。
プロファイラーと万能の Windows タスク マネージャーを使用してさらに調査を行ったところ、Text を使用する単純なアプリケーションが何らかの形でメモリ リークを起こしているように見えることが明らかになりました。それから、SFML フォーラムでそれに関するスレッドを作成しました (スレッド)。しかし、SFML の主な開発者は、自分のマシンでバグを再現できませんでした。私は気が狂っているはずがないと思って、それを友人に送ったところ、彼は実際にそれが起こっているのを見たと報告しました.
SFML の開発者である Laurent のためにサンプルを作成しましたが、それでも彼はバグを再現できませんでした。これは OS に関連している可能性があると考えて、ファイルを可能なすべての人に送信し、OS について問い合わせました。ここに私の結果があります:
http://spreadsheets.google.com/ccc?key=0AhcHeJlLGEVUdG1TTi1mTkFxeFlHYVRISXhjbFBDUmc&hl=ja
ご覧のとおり、Turc と K7 はどちらも同じ OS ですが、K7 ではクラッシュしません (テスト候補がまだ報告されていないため、表は不完全です)。とにかく、これは明らかに OS の問題ではないことを示しています。
だから私の実際の質問は、OS やアーキテクチャ以外の他の要因が、特定のシステムにのみ現れるこのようなバグに影響を与える可能性があるということです。
参考までに、友人に送ったファイルを以下に示します: http://dl.dropbox.com/u/3310651/MemLeak2.rar
そして、私が行ったプロファイリングのスクリーンショット: http://dl.dropbox.com/u/3310651/sfml_memleak.png
ありがとう!