Ben
Thu Jun 21 17:48:31 CDT 2007
"Art" <artami2006@gmail.com> wrote in message
news:1182404002.683337.212070@n2g2000hse.googlegroups.com...
> Hi SvenC,
> I am using C++ project properties: Code Generation : Runtime library=
> Multi-threaded Debug DLL (/MDd)
>
> Here is the call stack:
Is this the first function called in your DLL? Or have some other functions
already had a chance to corrupt the heap? Maybe some other DLL using the
C++ runtime has done some damage.
>
> msvcr80d.dll!_msize_dbg(void * pUserData=0xfb9606fc, int
> nBlockUse=2) Line 1473 + 0x30 bytes C++
> msvcr80d.dll!_dllonexit_nolock(int (void)* func=0xfbd69d8c, void
> (void)* * * pbegin=0x0013eab8, void (void)* * * pend=0x0013eab0) Line
> 295 + 0xd bytes C
> msvcr80d.dll!__dllonexit(int (void)* func=0xfbd69d8c, void (void)* *
> * pbegin=0x0013eab8, void (void)* * * pend=0x0013eab0) Line 273 +
> 0x11 bytes C
>> ManagedC++.exe!_onexit(int (void)* func=0x00409b70) Line 110 + 0x1b
>> bytes C
> ManagedC++.exe!atexit(void (void)* func=0x00409b70) Line 127 + 0x9
> bytes C
> ManagedC++.exe!`dynamic initializer for 'g_Allocator''() Line 23 +
> 0x17 bytes C++
> [Managed to Native Transition]
> ManagedC++.exe!_initterm(void** pfbegin = 0x0040A384, void pfend = )
> Line 130 C++
> ManagedC++.exe!
> <CrtImplementationDetails>::LanguageSupport::InitializeNative() Line
> 534 C++
> ManagedC++.exe!
> <CrtImplementationDetails>::LanguageSupport::_Initialize() Line 680 C+
> +
> ManagedC++.exe!
> <CrtImplementationDetails>::LanguageSupport::Initialize() Line 824 +
> 0x9 bytes C++
> ManagedC++.exe!?.cctor@@$$FYMXXZ() Line 871 + 0x9 bytes C++
>
> On Jun 20, 9:47 pm, "SvenC" <S...@community.nospam> wrote:
>> Hi,
>>
>>
>>
>> > I am getting _CrtIsValidHeapPointer Assertion in C++/CLI Application
>> > Debug mode in VS 2005.
>> > Expression: _CrtIsValidHeapPointer(pUserData)
>>
>> > 1) I created application in VS2005 :
>> > Project type - VC++
>> > Visual Studio Installed Template - WindowsFormsApplication.
>> > I added a dialog resource to this project and a class to the dialog
>> > which is MFC dialog class.
>> > I also changed the following project properties and their values:
>> > a) CLR - /clr
>> > b) Use MFC as Shared DLL
>> > c) Linker ->advanced -> CLR Unmanaged Code Check - Apply Unmanaged
>> > Code Check (/CLRUNMANAGEDCODECHECK)
>>
>> > When I run this app in the debug mode I get the assertion with
>> > Expression: _CrtIsValidHeapPointer(pUserData).
>>
>> In this
>> article
http://msdn.microsoft.com/msdnmag/issues/06/05/MixAndMatch/
>> it is explained that the DLL CRT must be used.
>> Please check your C++ project properties: Code Generation : Runtime
>> library:
>> Multi-threaded [Debug] DLL (/MD or /MDd)
>>
>> --
>> SvenC
>
>