おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

MFC で typeid 演算子を使うとメモリリークするそうです

正確に言うと, スタティックリンクした MFC アプリケーションにおいて, typeid 演算子で取得した type_info オブジェクトの name() メンバ関数を呼び出すと, MFC のメモリ ダンプ機能でメモリ リークが検出されてしまうようです.

"Visual Studio デベロッパー センター" の "Visual Studio フォーラム" でこの問題について議論されていました. どうも, type_info の実装では name() メンバ関数の返す文字列を malloc() 関数で確保するようですが, MFC のメモリ リークのチェックより遅いタイミングで解放するらしく, メモリ リークとして検出されてしまうようです.

う゛~. 気持ち悪いな~. とりあえず, メモリ リークの原因が分からなくて, フテ寝した 3 時間を返せーっ (苦笑).

ちなみに, new で確保したメモリの解放忘れによるメモリ リークは, ソースに DEBUG_NEW マクロを定義しておけば, メモリ リークの new があるファイル名と行番号がダンプされます. でも, 今回の場合は, どこでリークしているか全く分からなかったので, 特定に時間かかりました.

スポンサーサイト
  1. 2010/05/22(土) 18:55:40|
  2. ソフトウェア開発
  3. | トラックバック:0
  4. | コメント:0
次のページ

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。