お世話になっています。緑川です。
ODBCを使用したアプリケーションを作っています。
(ダイアログベースで、DBアクセスはDLL化しています)
定期的にDBにアクセスして、データが更新されたら、
表示を更新しているのですが、更新を何回もしていると、
アプリケーションのメモリ使用量が少しずつ増えていきます。
(一回の更新で、DBへのアクセスは何回もやっています)
3日ぐらい立ちあげっぱなしだと、メモリ使用量が巨大になって
アプリケーションが暴走します。
これを回避する方法はあるのでしょうか。
ちなみに、BoundsCheckerで見たところ、アプリケーション終了時に
メモリリークとリソースリークがかなりありました。
しかし、自分が作ったソースでメモリを解放していない部分は修正済み
(のはず)です。
とりあえず、BoundsCheckerで出てきたメモリリークとリソースリークの部分は
以下のものがありました。
・メモリリーク
afxtls.cpp(283),(76), (180)
ccdata.cpp(668)
winhand.cpp(75)
crtdll.c(170)
dllinit.cpp(471), (544)
apprint.cpp(135), (146), (165), (197)
dllole.cpp(120)
dlldb.cpp(96)
viewprint.cpp(432)
wincore.cpp(268)
wingdi.cpp(996)
・リソースリーク
dllinit.cpp(368), (487)
afxcrit.cpp(54), (105)
afxmt.inl(38)
afxtls.cpp(122), (126)
dllole.cpp(55)
dlldb(59), (60)
auxdata.cpp(188)
環境は、WinNT4.0(SP3)+VC5.0+ACCESSです。
どなたか、ご存じの方、ご教授お願いいたします。
ODBCを使用したアプリケーションを作っています。
(ダイアログベースで、DBアクセスはDLL化しています)
定期的にDBにアクセスして、データが更新されたら、
表示を更新しているのですが、更新を何回もしていると、
アプリケーションのメモリ使用量が少しずつ増えていきます。
(一回の更新で、DBへのアクセスは何回もやっています)
3日ぐらい立ちあげっぱなしだと、メモリ使用量が巨大になって
アプリケーションが暴走します。
これを回避する方法はあるのでしょうか。
ちなみに、BoundsCheckerで見たところ、アプリケーション終了時に
メモリリークとリソースリークがかなりありました。
しかし、自分が作ったソースでメモリを解放していない部分は修正済み
(のはず)です。
とりあえず、BoundsCheckerで出てきたメモリリークとリソースリークの部分は
以下のものがありました。
・メモリリーク
afxtls.cpp(283),(76), (180)
ccdata.cpp(668)
winhand.cpp(75)
crtdll.c(170)
dllinit.cpp(471), (544)
apprint.cpp(135), (146), (165), (197)
dllole.cpp(120)
dlldb.cpp(96)
viewprint.cpp(432)
wincore.cpp(268)
wingdi.cpp(996)
・リソースリーク
dllinit.cpp(368), (487)
afxcrit.cpp(54), (105)
afxmt.inl(38)
afxtls.cpp(122), (126)
dllole.cpp(55)
dlldb(59), (60)
auxdata.cpp(188)
環境は、WinNT4.0(SP3)+VC5.0+ACCESSです。
どなたか、ご存じの方、ご教授お願いいたします。