Quantcast
Channel: Visual Leak Detector for Visual C++ 2008-2015
Viewing all 704 articles
Browse latest View live

Created Unassigned: Designer form crash [10556]

$
0
0
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.

New Post: Visual Studio 2013

$
0
0
Any news of when an official installer for VS2013 (i.e. V2.4?) will be released?

Thanks

Source code checked in, #575264ba3cb50f8c9188c099117e7b3eaaf521b0

$
0
0
Memory leaks count fixed for case static/dynamic linked MFC

New Post: Memory leak internal to Visual Leak Detector

$
0
0
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:
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

Source code checked in, #e92528becd04f7d220c991cbb2f378612a26ab1c

Source code checked in, #d84107cda24ae11d80c31a1e20eda222a36e121d

Source code checked in, #09b7de0009fc00d7a3974e6299305bc73223b9a1


Source code checked in, #1c206d62fc420138530f31f228c97430a68d8f3c

Source code checked in, #1f8cd36ccd4f11f85082fbe482b4f88b80e60fd7

New Post: support wp8 (c++/cx)?

$
0
0
does vld support wp8 c++/cx?

if not, is it easy to do that?

any advice will be appreciated.

New Post: No information is printed on application shutdown

$
0
0
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?

New Post: No information is printed on application shutdown

$
0
0
no sorry, i haven't found why, so i stopped.

New Post: VLD in Release mode

$
0
0
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!

Commented Unassigned: LoadLibrary bug... [10555]

$
0
0
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, &section);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
Comments: Deadlock ``` dbghelp.dll!_EnumerateLoadedModulesW64@12() ``` and ``` ntdll.dll!LdrLoadDll() ```

Source code checked in, #5ea1ccf5e91d7500cb14859516c2a27b57ded54a

$
0
0
Deadlock fixed and missed memory leaks when dll loading. Closes #10555 Reverted commit 8d566b611b from version 2.2.2

Edited Unassigned: LoadLibrary bug... [10555]

$
0
0
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, &section);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```

Commented Unassigned: LoadLibrary bug... [10555]

$
0
0
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, &section);___
}
__except(FilterFunction(GetExceptionCode()))
{
idte = NULL;
}
...
}
```
Comments: Fixed in changeset 5ea1ccf5e91d7500cb14859516c2a27b57ded54a

Source code checked in, #6edaac6cdf25b47b358b296aebf1593ba19d0c43

Source code checked in, #ba84cc313e8f974d41f8c34659c445b4f9665682

Viewing all 704 articles
Browse latest View live