MSVCによると明らかにメモリリークのあるアプリケーションを作成しています。このアプリケーションは、実行可能なバイナリとDLLのカップルで構成されています。アプリケーションとDLLの両方が「ダイナミックリンク」を使用しています。
私はまた、静的にリンクされているバイナリファイルを1つだけ含む書面のアプリケーションを持っています。
両方にVLDを適用しようとしました。
2番目のアプリケーションでは問題ありません。それは開始することができ、正常に実行されています。
最初のアプリケーションでは、起動できません。スタートアップ時にはいつもクラッシュしています。
VLDをmai実行可能ファイルと私が作成しているすべてのDLLに追加しました。
私はクラッシュの問題が何であるか、それが複数のDLLであろうと、「ダイナミックリンク」を使用しているのか、疑問に思っています。
また、VLDのソースコードを取得してプロジェクトと一緒にコンパイルしようとすれば、アプリケーションを実行してリークを見ることができますか?
クラッシュを解決するための指針をありがとう。
EDIT1:ここ
がクラッシュのためにバックトレースです:!
ntdll.dllの77c40e92()以下
[フレームが不正確および/または欠落、ノーシンボルロードすることができます。 ntdll.dllのための] vld_x86.dll!04f9abf0()
vld_x86.dll!04fae9df()
vld_x86.dll!04faeb4d()
KernelBase.dll!75a241e6()
user32.dllの!75f57433()
user32.dllの!75f55ab6()
user32.dllの!75f558c4()
ntdll.dllの!77c496de()
ntdll.dllの! 77c49658()
ntdll.dllの!77c57825()
ntdll.dllの!77c5b530()
ntdll.dllの!77c6751f()
vld_x86.dll!04faf9b6()
vld_x86.dll!04fadd99()
msvcrt.dll!75c9b0f9()
KernelBase.dll!75a24093()
vld_x86.dll!04faf9b6()
vld_x86.dll!04faf9b6()
vld_x86.dll!04fade47()
クラッシュの詳細はなんですか? – kvr
現代版のVLDを使用していますか? – VTT
@VTT、最新かつ古いもの。どちらの場合も同じ結果が得られます。 – Igor