Ich schreibe eine Anwendung, die offenbar Speicherlecks nach MSVC hat. Diese Anwendung besteht aus der binären ausführbaren Datei und einigen DLLs. Die Anwendung und die DLL verwenden beide "Dynamic Linking".
Ich habe auch eine schriftliche Anwendung, die nur eine Binärdatei enthält, die statisch verknüpft ist.
Ich versuchte, VLD auf beide anzuwenden.
Mit der zweiten Anwendung gibt es kein Problem. Es kann gestartet werden und läuft gut.
Mit der ersten Anwendung - ich kann es nicht einmal starten. Es stürzt immer beim Start ab.
Ich habe die VLD zu dem ausführbaren Mai hinzugefügt und zu allen DLL, die ich produziere.
Also ich frage mich, was könnte das Problem für den Absturz sein - ob es eine mehrere DLL ist oder die Tatsache, dass ich "Dynamic Linking" verwende.
Ich frage mich auch, ob die Quellcode von VLD bekommen und versuchen, das zusammen mit dem Projekt zu kompilieren wird helfen und ich werde schließlich in der Lage sein, die Anwendung zu starten und die Lecks zu sehen.
Vielen Dank für alle Hinweise, um den Absturz zu beheben.
EDIT1:
Hier ist der Backtrace für den Absturz:
ntdll.dll 77c40e92()
[Frames unten sein kann fehlerhafte und/oder fehlt, keine Symbole geladen für 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()
Was sind die Unfalldetails? – kvr
Verwenden Sie eine moderne Version von VLD? – VTT
@ VTT, neueste und alte. Beides mit den gleichen Ergebnissen. – Igor