トップページ > 記事閲覧
メモリリークの探し方
名前:にこよう 日時: 2020/05/18 09:46

以前のスレッドでログの以下の表示がメモリリークだということを教えていただいたのですが、 21779: size: 128( 0.125kb) user size: 12( 0.012kb) time:53096 file:in\DxArchive_.cpp line:4151 ID:205 addr:09a6e110 data:[00 00 00 00 00 00 00 00 90 e1 a6 09] 探しても見つけられなかったので、探し方があれば教えていただけると嬉しいです 最初は起動してから閉じるまでの時間が長ければ長いほど数が増え、また、起動直後に終了しても発生したため その範囲で全てのコードを見直してみたのですが、見つけられませんでした やみくもに探すより、ログに出力されている time や id などの意味が分かればヒントにできるのではないかと考えたので、質問させていただきました
メンテ

Page: 1 |

Re: メモリリークの探し方 ( No.1 )
名前:管理人 日時:2020/05/19 02:26

> 21779: size: 128( 0.125kb) user size: 12( 0.012kb) time:53096 file:in\DxArchive_.cpp line:4151 ID:205 addr:09a6e110 data:[00 00 00 00 00 00 00 00 90 e1 a6 09] 確認したところ、FileRead_findFirst の処理の中で確保されたメモリでした FileRead_findFirst・FileRead_findNext でファイル検索した後、 FileRead_findClose で検索処理の後始末をしていない箇所などありませんでしょうか? > 探しても見つけられなかったので、探し方があれば教えていただけると嬉しいです DXライブラリのダウンロードページからDXライブラリのソースをダウンロードしていただき ( 暫定最新版の場合は https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip でソースがダウンロードできます ) ログの『file:』に書かれているファイルの中の『line:』と書かれている部分の行番号を見ていただければ 凡その原因が分かるかもしれません ( 今回は DxArchive_.cpp の 4151行目が FileRead_findFirst 関係の処理の中だったので、FileRead_findFirst 関連が 原因なのではないかと推測しました )
メンテ
Re: メモリリークの探し方 ( No.2 )
名前:にこよう (解決) 日時:2020/05/19 14:06

ご回答ありがとうございます >FileRead_findFirst・FileRead_findNext でファイル検索した後、 >FileRead_findClose で検索処理の後始末をしていない箇所などありませんでしょうか? この関数を使用しているのは1か所しかないのですぐに解決しました、有難うございました 起動後にすぐxボタンを押してもウィンドウが閉じるだけでbackgroundの初期化処理は全て遂行されるのを忘れておりました... >ログの『file:』に書かれているファイルの中の『line:』と書かれている部分の行番号を見ていただければ >凡その原因が分かるかもしれません 他のメモリリーク情報もこの方法で探してみます
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存