It seems that including visual leak detector in my mixed(C# and c++ dll) project is causing vs2008 to crash on opening a devexpress winform. This has taken about 2 years to pinpoint. This is some conflict between devexpress winforms and vld, it isn't clear to me, but thought I'd post this. If there is any other info I can provide, let me know.
↧
Created Unassigned: Designer form crash [10556]
↧
New Post: Visual Studio 2013
Any news of when an official installer for VS2013 (i.e. V2.4?) will be released?
Thanks
Thanks
↧
↧
Source code checked in, #575264ba3cb50f8c9188c099117e7b3eaaf521b0
Memory leaks count fixed for case static/dynamic linked MFC
↧
New Post: Memory leak internal to Visual Leak Detector
Hi.
I'm getting this report from vld:
No memory leaks detected.
Visual Leak Detector is now exiting.
ERROR: Visual Leak Detector: Detected a memory leak internal to Visual Leak Detector!!
---------- Block 165 at 0x013D3970: 20 bytes ----------
Call Stack:
My project contains static lib and win32 app whitch uses this lib.
In Win32 app main function i call static function from lib. In this static function i make window and draw some stuff with directX-
Im using latest vld v2.4, Visual Studio 2012 and windows 8.
Does anybody know how to solve this?
I'm getting this report from vld:
No memory leaks detected.
Visual Leak Detector is now exiting.
ERROR: Visual Leak Detector: Detected a memory leak internal to Visual Leak Detector!!
---------- Block 165 at 0x013D3970: 20 bytes ----------
Call Stack:
c:\users\bojan\desktop\vld\vld.cpp (1643): Full call stack not available.
Data:6D 00 73 00 63 00 74 00 66 00 2E 00 64 00 6C 00 m.s.c.t. f...d.l.
6C 00 00 00 l....... ........
....My project contains static lib and win32 app whitch uses this lib.
In Win32 app main function i call static function from lib. In this static function i make window and draw some stuff with directX-
Im using latest vld v2.4, Visual Studio 2012 and windows 8.
Does anybody know how to solve this?
↧
Source code checked in, #1318e8e3301b69dd93529b8efe6b7d2c30433705
Thread methods added
↧
↧
Source code checked in, #e92528becd04f7d220c991cbb2f378612a26ab1c
Thread methods added
↧
Source code checked in, #d84107cda24ae11d80c31a1e20eda222a36e121d
Memory reporting fixed at exit
↧
Source code checked in, #09b7de0009fc00d7a3974e6299305bc73223b9a1
Format specifier fixed
↧
Source code checked in, #1c206d62fc420138530f31f228c97430a68d8f3c
Allocator added
↧
↧
Source code checked in, #1f8cd36ccd4f11f85082fbe482b4f88b80e60fd7
dbghelp added to repository
↧
New Post: support wp8 (c++/cx)?
does vld support wp8 c++/cx?
if not, is it easy to do that?
any advice will be appreciated.
if not, is it easy to do that?
any advice will be appreciated.
↧
New Post: No information is printed on application shutdown
Hi, I have the same problem of yours.
I am using VLD 2.3 on Windows 8.1 x64 and Visual Studio 2012 Update 4.
I have this test application where I use googletest to unit-test my project. The project itself is a static library dynamically linked to CRT.
It also gives no report for leaks at the end, but it starts fine.
Did any of you find a solution or explanation for that?
I am using VLD 2.3 on Windows 8.1 x64 and Visual Studio 2012 Update 4.
I have this test application where I use googletest to unit-test my project. The project itself is a static library dynamically linked to CRT.
It also gives no report for leaks at the end, but it starts fine.
Did any of you find a solution or explanation for that?
↧
New Post: No information is printed on application shutdown
no sorry, i haven't found why, so i stopped.
↧
↧
New Post: VLD in Release mode
Hi All,
This is my first post of VLD. I have a desktop client application built using Qt for Windows and Mac. This desktop application also embeds Chrome Embedded Framework. Profiling memory footprint of my application has indicated significant memory leaks. I wish to use VLD to debug further as to which component is leaking.
Currently, my application can be build only in Release mode.
I have included VLD header and library reference in my project.
My Question: Can I use VLD in my application by building in Release mode.
Thanks in advance!
This is my first post of VLD. I have a desktop client application built using Qt for Windows and Mac. This desktop application also embeds Chrome Embedded Framework. Profiling memory footprint of my application has indicated significant memory leaks. I wish to use VLD to debug further as to which component is leaking.
Currently, my application can be build only in Release mode.
I have included VLD header and library reference in my project.
My Question: Can I use VLD in my application by building in Release mode.
Thanks in advance!
↧
Commented Unassigned: LoadLibrary bug... [10555]
My English is not very good.
So instead sample code.
```
#include "vld.h"
#include <Windows.h>
#include <tchar.h>
#include <process.h>
UINT WINAPI ThreadProc1(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("wtsapi32.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
UINT WINAPI ThreadProc2(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("psapi.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
int main(int argc, char *argv[])
{
UINT nThreadID;
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &nThreadID);
hThread[1] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &nThreadID);
::WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
return 0;
}
```
=> Crash Utility.cpp
```
IMAGE_IMPORT_DESCRIPTOR* FindOriginalImportDescriptor (HMODULE importmodule, LPCSTR exportmodulename)
{
IMAGE_IMPORT_DESCRIPTOR* idte = NULL;
IMAGE_SECTION_HEADER* section = NULL;
ULONG size = 0;
// Locate the importing module's Import Directory Table (IDT) entry for the
// exporting module. The importing module actually can have several IATs --
// one for each export module that it imports something from. The IDT entry
// gives us the offset of the IAT for the module we are interested in.
g_imageLock.Enter();
__try
{
___idte = (IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToDataEx((PVOID)importmodule, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &size, §ion);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
Comments: Deadlock ``` dbghelp.dll!_EnumerateLoadedModulesW64@12() ``` and ``` ntdll.dll!LdrLoadDll() ```
So instead sample code.
```
#include "vld.h"
#include <Windows.h>
#include <tchar.h>
#include <process.h>
UINT WINAPI ThreadProc1(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("wtsapi32.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
UINT WINAPI ThreadProc2(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("psapi.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
int main(int argc, char *argv[])
{
UINT nThreadID;
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &nThreadID);
hThread[1] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &nThreadID);
::WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
return 0;
}
```
=> Crash Utility.cpp
```
IMAGE_IMPORT_DESCRIPTOR* FindOriginalImportDescriptor (HMODULE importmodule, LPCSTR exportmodulename)
{
IMAGE_IMPORT_DESCRIPTOR* idte = NULL;
IMAGE_SECTION_HEADER* section = NULL;
ULONG size = 0;
// Locate the importing module's Import Directory Table (IDT) entry for the
// exporting module. The importing module actually can have several IATs --
// one for each export module that it imports something from. The IDT entry
// gives us the offset of the IAT for the module we are interested in.
g_imageLock.Enter();
__try
{
___idte = (IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToDataEx((PVOID)importmodule, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &size, §ion);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
Comments: Deadlock ``` dbghelp.dll!_EnumerateLoadedModulesW64@12() ``` and ``` ntdll.dll!LdrLoadDll() ```
↧
Source code checked in, #5ea1ccf5e91d7500cb14859516c2a27b57ded54a
Deadlock fixed and missed memory leaks when dll loading. Closes #10555
Reverted commit 8d566b611b from version 2.2.2
↧
Edited Unassigned: LoadLibrary bug... [10555]
My English is not very good.
So instead sample code.
```
#include "vld.h"
#include <Windows.h>
#include <tchar.h>
#include <process.h>
UINT WINAPI ThreadProc1(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("wtsapi32.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
UINT WINAPI ThreadProc2(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("psapi.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
int main(int argc, char *argv[])
{
UINT nThreadID;
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &nThreadID);
hThread[1] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &nThreadID);
::WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
return 0;
}
```
=> Crash Utility.cpp
```
IMAGE_IMPORT_DESCRIPTOR* FindOriginalImportDescriptor (HMODULE importmodule, LPCSTR exportmodulename)
{
IMAGE_IMPORT_DESCRIPTOR* idte = NULL;
IMAGE_SECTION_HEADER* section = NULL;
ULONG size = 0;
// Locate the importing module's Import Directory Table (IDT) entry for the
// exporting module. The importing module actually can have several IATs --
// one for each export module that it imports something from. The IDT entry
// gives us the offset of the IAT for the module we are interested in.
g_imageLock.Enter();
__try
{
___idte = (IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToDataEx((PVOID)importmodule, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &size, §ion);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
So instead sample code.
```
#include "vld.h"
#include <Windows.h>
#include <tchar.h>
#include <process.h>
UINT WINAPI ThreadProc1(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("wtsapi32.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
UINT WINAPI ThreadProc2(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("psapi.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
int main(int argc, char *argv[])
{
UINT nThreadID;
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &nThreadID);
hThread[1] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &nThreadID);
::WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
return 0;
}
```
=> Crash Utility.cpp
```
IMAGE_IMPORT_DESCRIPTOR* FindOriginalImportDescriptor (HMODULE importmodule, LPCSTR exportmodulename)
{
IMAGE_IMPORT_DESCRIPTOR* idte = NULL;
IMAGE_SECTION_HEADER* section = NULL;
ULONG size = 0;
// Locate the importing module's Import Directory Table (IDT) entry for the
// exporting module. The importing module actually can have several IATs --
// one for each export module that it imports something from. The IDT entry
// gives us the offset of the IAT for the module we are interested in.
g_imageLock.Enter();
__try
{
___idte = (IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToDataEx((PVOID)importmodule, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &size, §ion);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
↧
↧
Commented Unassigned: LoadLibrary bug... [10555]
My English is not very good.
So instead sample code.
```
#include "vld.h"
#include <Windows.h>
#include <tchar.h>
#include <process.h>
UINT WINAPI ThreadProc1(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("wtsapi32.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
UINT WINAPI ThreadProc2(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("psapi.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
int main(int argc, char *argv[])
{
UINT nThreadID;
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &nThreadID);
hThread[1] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &nThreadID);
::WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
return 0;
}
```
=> Crash Utility.cpp
```
IMAGE_IMPORT_DESCRIPTOR* FindOriginalImportDescriptor (HMODULE importmodule, LPCSTR exportmodulename)
{
IMAGE_IMPORT_DESCRIPTOR* idte = NULL;
IMAGE_SECTION_HEADER* section = NULL;
ULONG size = 0;
// Locate the importing module's Import Directory Table (IDT) entry for the
// exporting module. The importing module actually can have several IATs --
// one for each export module that it imports something from. The IDT entry
// gives us the offset of the IAT for the module we are interested in.
g_imageLock.Enter();
__try
{
___idte = (IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToDataEx((PVOID)importmodule, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &size, §ion);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
Comments: Fixed in changeset 5ea1ccf5e91d7500cb14859516c2a27b57ded54a
So instead sample code.
```
#include "vld.h"
#include <Windows.h>
#include <tchar.h>
#include <process.h>
UINT WINAPI ThreadProc1(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("wtsapi32.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
UINT WINAPI ThreadProc2(LPVOID pParam)
{
while(1)
{
HMODULE hModule = ::LoadLibrary(_T("psapi.dll"));
if(NULL != hModule)
{
::FreeLibrary(hModule);
hModule = NULL;
}
}
return 0;
}
int main(int argc, char *argv[])
{
UINT nThreadID;
HANDLE hThread[2];
hThread[0] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc1, NULL, 0, &nThreadID);
hThread[1] = (HANDLE)_beginthreadex(NULL, 0, ThreadProc2, NULL, 0, &nThreadID);
::WaitForMultipleObjects(2, hThread, TRUE, INFINITE);
return 0;
}
```
=> Crash Utility.cpp
```
IMAGE_IMPORT_DESCRIPTOR* FindOriginalImportDescriptor (HMODULE importmodule, LPCSTR exportmodulename)
{
IMAGE_IMPORT_DESCRIPTOR* idte = NULL;
IMAGE_SECTION_HEADER* section = NULL;
ULONG size = 0;
// Locate the importing module's Import Directory Table (IDT) entry for the
// exporting module. The importing module actually can have several IATs --
// one for each export module that it imports something from. The IDT entry
// gives us the offset of the IAT for the module we are interested in.
g_imageLock.Enter();
__try
{
___idte = (IMAGE_IMPORT_DESCRIPTOR*)ImageDirectoryEntryToDataEx((PVOID)importmodule, TRUE,
IMAGE_DIRECTORY_ENTRY_IMPORT, &size, §ion);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
Comments: Fixed in changeset 5ea1ccf5e91d7500cb14859516c2a27b57ded54a
↧
Source code checked in, #6edaac6cdf25b47b358b296aebf1593ba19d0c43
Test fixed for static CRT
↧
Source code checked in, #ba84cc313e8f974d41f8c34659c445b4f9665682
Test fixed for mfc case
↧