2015-05-06 131 views
1

任何人都可以幫助解密由Visual Leak Detector報告的內存泄漏問題嗎?如何解讀由Visual Leak Detector報告的內存泄漏問題

它在openssl中的某處嗎?

而且爲什麼它是指文件的驅動器f:時,有沒有這樣的驅動器映射?

類似post表明,它可能是與初始化分配一次內存。

WARNING: Visual Leak Detector detected memory leaks! 
---------- Block 364 at 0x005D2E38: 20 bytes ---------- 
    Leak Hash: 0x8FD6682B, Count: 1, Total 20 bytes 
    Call Stack (TID 11424): 
    0x771CE046 (File and line number not available): ntdll.dll!RtlAllocateHeap 
    f:\dd\vctools\crt\crtw32\heap\malloc.c (58): utilities-test.exe!_heap_alloc_base 
    f:\dd\vctools\crt\crtw32\misc\dbgheap.c (431): utilities-test.exe!_heap_alloc_dbg_impl + 0x9 bytes 
    f:\dd\vctools\crt\crtw32\misc\dbgheap.c (239): utilities-test.exe!_nh_malloc_dbg_impl + 0x19 bytes 
    f:\dd\vctools\crt\crtw32\misc\dbgheap.c (302): utilities-test.exe!_nh_malloc_dbg + 0x1D bytes 
    f:\dd\vctools\crt\crtw32\misc\dbgmalloc.c (56): utilities-test.exe!malloc + 0x15 bytes 
    d:\cfiles\projects\winssl\openssl-1.0.1e\crypto\mem.c (79): utilities-test.exe!default_malloc_ex + 0xB bytes 
    c:\development\cots\boost\boost\asio\ssl\detail\impl\openssl_init.ipp (127): utilities-test.exe!boost::asio::ssl::detail 
::openssl_init_base::instance + 0x3F bytes 
    c:\development\cots\boost\boost\asio\ssl\detail\openssl_init.hpp (61): utilities-test.exe!boost::asio::ssl::detail::open 
ssl_init<1>::openssl_init<1> + 0x9 bytes 
    d:\server\programs\microsoft visual studio 12.0\vc\include\xmemory0 (611): utilities-test.exe!`dynamic initializer for 'boost::asio::ssl 
::detail::openssl_init<1>::instance_'' + 0xD bytes 
    f:\dd\vctools\crt\crtw32\startup\crt0dat.c (955): utilities-test.exe!_initterm 
    f:\dd\vctools\crt\crtw32\startup\crt0dat.c (308): utilities-test.exe!_cinit + 0xF bytes 
    f:\dd\vctools\crt\crtw32\startup\crt0.c (237): utilities-test.exe!__tmainCRTStartup + 0x7 bytes 
    f:\dd\vctools\crt\crtw32\startup\crt0.c (165): utilities-test.exe!mainCRTStartup 
    0x76BA336A (File and line number not available): kernel32.dll!BaseThreadInitThunk + 0x12 bytes 
    0x771D92B2 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0x63 bytes 
    0x771D9285 (File and line number not available): ntdll.dll!RtlInitializeExceptionChain + 0x36 bytes 
    Data: 
    00 00 00 00 B8 2E 5D 00 01 00 00 00 04 00 00 00  ......]. ........ 
    50 E1 60 01             P.`..... ........ 

回答

0

它指向f:因爲這些路徑保存在調試信息中。當CRT被建立時,源被放置在驅動器f:上。

我認爲這是一個你不應該(也不能)解決,它看起來像一個單一的時間初始化泄漏。

反正也是我建議嘗試其他的第三方工具,查找內存泄漏,可能你會得到更多的信息。

0

它在openssl中的某處嗎?

是的,OpenSSL有已知的內存泄漏。參見例如OpenSSL Issue #2561: Memory leak with SSL built-in compressionsHow to properly uninitialize OpenSSL

這可能(或可能不會)導致您的問題。

可能有其他人。


誰能幫助破譯視覺檢漏儀報告的內存泄漏?

對不起,我在那裏沒有幫助。


而且爲什麼它是指文件的驅動器F:如果沒有這樣的驅動器映射的?

微軟的調試記錄包括路徑。例如參見Generating and Deploying Debug Symbols

但既然你沒有微軟的編譯環境,它不會對你有所幫助。它的安全性可以忽略。