2017-08-25 135 views
0

全部,VLD崩潰的應用程序

我正在寫一個應用程序,顯然有內存泄漏根據MSVC。此應用程序由二進制可執行文件和幾個DLL組成。應用程序和DLL都使用「動態鏈接」。

我也有一個書面申請,只包含一個二進制文件是靜態鏈接。

我試圖將VLD應用於兩者。

第二個應用程序沒有問題。它可以啓動並執行正常。

與第一應用 - 我甚至無法啓動。它在啓動時總是崩潰。

我增加了VLD到麥可執行文件和所有的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()

+0

什麼是碰撞細節? – kvr

+0

您是否使用現代版VLD? – VTT

+0

@VTT,最新的和舊的。兩者都有相同的結果。 – Igor

回答

1

ALL,

我安裝了最新版本的VLD(2.5.1),將2個dll和pdb複製到可執行目錄,並且程序能夠在沒有崩潰的情況下啓動。

我在閱讀VLD輸出時遇到了一些問題,但我可能會爲它創建一個新線程。

謝謝您的閱讀和抱歉的噪音。