Visual c++ ATL 8 thunk代码内存泄漏?

Visual c++ ATL 8 thunk代码内存泄漏?,visual-c++,atl,Visual C++,Atl,我在使用ATL 8和am的机器上使用DEP。Visual Leak Detector报告了一个内存泄漏,该泄漏源于HeapAlloc调用atlthunk.cpp,具体来说,这一行代码: atlThunkPool = (PSLIST_HEADER)HeapAlloc(GetProcessHeap(), 0, sizeof(SLIST_HEADER)); 果然,我找了好几个小时,但在任何地方都找不到相应的堆。此外,在同一个文件中还调用了VirtualAlloc,即 thunkPage =

我在使用ATL 8和am的机器上使用DEP。Visual Leak Detector报告了一个内存泄漏,该泄漏源于
HeapAlloc
调用
atlthunk.cpp
,具体来说,这一行代码:

atlThunkPool = 
    (PSLIST_HEADER)HeapAlloc(GetProcessHeap(), 0, sizeof(SLIST_HEADER));
果然,我找了好几个小时,但在任何地方都找不到相应的堆。此外,在同一个文件中还调用了
VirtualAlloc
,即

thunkPage = (PATL_THUNK_ENTRY)VirtualAlloc(NULL, 
    PAGE_SIZE, 
    MEM_COMMIT, 
    PAGE_EXECUTE_READWRITE);
并且没有相应的
虚拟自由
(特定条件下除外)。我是疯了还是这是ATL的一个错误


谢谢。

看起来像是漏洞,Visual Studio 2010 ATL中也没有释放。可能假设只创建一次代码thunk,如果不释放它,它不会消耗大量内存(加载和卸载DLL仍然存在问题)。我在VS2010 ATL中没有看到释放thunk池的代码。感谢您的关注,可能是因为某些假设。是否有一个地方可以将此作为bug提交给Microsoft?或者Microsoft Support为什么不共享一个链接以便投票支持呢?哦,好主意,谢谢投票!其他感兴趣的人也请投票