Invalid Address specified to RtlValidateHeap 
Author Message
 Invalid Address specified to RtlValidateHeap

i have an application that uses a DLL which exports a few classes.
the application runs fine, but when i exit the program, it gives the
following error :
HEAP[Plot2000d.exe]: Invalid Address specified to RtlValidateHeap( 800000,
2f2a08 )

i figured it has got somethign to do with the memory release. i searched
some pages on the net (including
http://www.*-*-*.com/ ;EN-US;q190799& ) and most
of them say that its because the EXE and DLL use different CRT libraries.
and it says that the EXE and the DLL has to use the same copy of the CRT.

i tried building the dll and exe using the same CRT libraries. i tried
MultiThreaded DLL, Debug Multi ThreadedDLL and Debug MultiThreaded. but the
error still keep coming.

i also tried using MFC in a shared DLL instead of Static library, but with
no luck.

does anybody have any idea how to fix this ??



Tue, 08 Mar 2005 00:50:47 GMT  
 Invalid Address specified to RtlValidateHeap
i've fixed the problem.
if any of u are interested :
it turns out, that not only shud the CRT libraries be the same,
but also that if the EXE is linked to the MFC , then the DLL has to be
linked to the MFC.
atleast that did the trick for my problem.


Quote:
> i have an application that uses a DLL which exports a few classes.
> the application runs fine, but when i exit the program, it gives the
> following error :
> HEAP[Plot2000d.exe]: Invalid Address specified to RtlValidateHeap( 800000,
> 2f2a08 )

> i figured it has got somethign to do with the memory release. i searched
> some pages on the net (including
> http://support.microsoft.com/default.aspx?scid=KB;EN-US;q190799& ) and
most
> of them say that its because the EXE and DLL use different CRT libraries.
> and it says that the EXE and the DLL has to use the same copy of the CRT.

> i tried building the dll and exe using the same CRT libraries. i tried
> MultiThreaded DLL, Debug Multi ThreadedDLL and Debug MultiThreaded. but
the
> error still keep coming.

> i also tried using MFC in a shared DLL instead of Static library, but with
> no luck.

> does anybody have any idea how to fix this ??



Tue, 08 Mar 2005 21:04:56 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. Invalid Address specified to RtlValidateHeap in EXE Server

2. Invalid Address specified to RtlValidateHeap

3. HEAP[my.exe]: Invalid Address specified to RtlValidateHeap( 1940000, 1b73290 )

4. Invalid Address specified to RtlValidateHeap

5. Invalid Address specified to RtlValidateHeap

6. Invalid Address specified to RtlValidateHeap (non-dll)

7. "Invalid Address specified to RtlFreeHeap(..)"

8. Invalid Address specified to RtlFreeHeap (Debug in Win2000 Proffesional+SP3)

9. Invalid Address specified to RtlFreeHeap

10. Invalid Address specified to RtlFreeHeap ...

11. Invalid Address specified to RtlFreeHeap( 80000, 859ce0 )

12. Incomplete import address table causes jump to invalid address

 

 
Powered by phpBB® Forum Software