[prev in list] [next in list] [prev in thread] [next in thread]
List: ms-dcom
Subject: Re: Help Needed
From: Andrew Schetinin <Aschetinin () ENTOPIA ! COM>
Date: 2004-05-04 6:39:51
Message-ID: 06DC40326E25F44682B5FDD891842303DC32E9 () uranium ! il ! kangaroo ! net
[Download RAW message or body]
Hi,
Looks like a buggy DLL, there is not much to do if you have no source
code :-)
If you do have DLL sources, try debug them in VC++, or use BoundsChecker
for memory allocation validation.
If you do not have sources, try create a global instance of this object
in VB and use it from all places, hoping it will not crash on program
exit.
Best Regards,
Andrew
-----Original Message-----
From: Seshu Madabushi [mailto:SMadabushi@ISOFT.COM]
Sent: Monday, May 03, 2004 10:11 PM
To: DCOM@DISCUSS.MICROSOFT.COM
Subject: Re: Help Needed
Hi
I downloaded the symbols and here is another problem I am getting into.
I have a Dll which is being used by my app (VB script + explorer). I am
doing two operations using the DLL ( two different pages), but when I
finish the second operation following the first one, I get a crash.
Looking at the call stack, shows me that I am trying to free some memory
which was already freed. I am pasting the call stack below. Can anyone
of you please tell me how to dig deep in to this.
NTDLL! DbgBreakPoint address 0x77f75a58
NTDLL! RtlValidateHeap + 224 bytes
KERNEL32! HeapValidate + 18 bytes
_CrtIsValidHeapPointer(const void * 0x0ab58fc0) line 1697
_free_dbg_lk(void * 0x0ab58fc0, int 2) line 1044 + 9 bytes
_free_dbg(void * 0x0ab58fc0, int 2) line 1001 + 13 bytes
_freeptd(_tiddata * 0x0ab55c88) line 310 + 14 bytes _CRTDLL_INIT(void *
0x10200000, unsigned long 3, void * 0x00000000) line 290 + 7 bytes
NTDLL! LdrInitializeThunk + 36 bytes NTDLL! LdrShutdownThread + 219
bytes KERNEL32! ExitThread + 62 bytes KERNEL32! RegisterWaitForInputIdle
+ 73 by
Based on the same problem, if I am creating two instances of my dll, the
browser crashes. The reason for this is again that I have two functions
being called one after another and each creates an instance of the
library.
The code for this looks something like this
FunctionOne()
DoSomething
Set lib = createobject(dll)
Lib.dofunction(return)
If return then
Set lib = nothing
FunctionTWo()
End if
End function
FunctionTWo()
Set lib = createobject(dll)
Lib.dofunction(return)
Set lib = nothing
End function
Thanks
Seshu
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.html
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html . To unsubscribe,
mailto:DCOM-signoff-request@DISCUSS.MICROSOFT.COM
----------------------------------------------------------------
Users Guide http://discuss.microsoft.com/archives/mailfaq.html
contains important info. Save time, search the archives at
http://discuss.microsoft.com/archives/index.html .
To unsubscribe, mailto:DCOM-signoff-request@DISCUSS.MICROSOFT.COM
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic