COM, IIS crash. PLEASE HELP. COM Expert
-
Greetings! I'm totally stuck. I have to support a vendor DLL for access to their mainframe. This DLL is written in Microsoft J++. This DLL is wrapped by another vendor provided DLL written in VB (ActiveX) that converts what the underlying component receives into XML. In turn, we wrap the VB DLL by our own InProcess ATL COM DLL (IDispatch, STA). Our component is loaded by IIS 5.0 through ASP pages that display the retrieved data in various ways, also storing much of it on the server and client for use during the session. Anyway, after 1 or 2 successes (as many as 4) it crashes IIS. If I run a trimmed down part of the ASP that crashing, I see an error returning, 0x800A01FB. This error seems to come from a variety of locations on the Net so I'm having trouble isolating what exactly is causing the problem. I have the source for the top level ATL COM object. I also have the source for the VB underlying object, but not the very bottom J++ object. This stuff works FINE together over and over and over (500 times in a test VB app) when used from VB or MFC. Load it in IIS however, and down we go. I can't figure out how to load the C++ or VB object in the debugger under IIS... It's easy to debug either one under a VB test program, but it works fine there. Can ANYONE PLEASE give me a pointer or two. This is week 2 on this now and all my team is grinding to a halt waiting on this fix. Matt:confused: :confused: :confused:
-
Greetings! I'm totally stuck. I have to support a vendor DLL for access to their mainframe. This DLL is written in Microsoft J++. This DLL is wrapped by another vendor provided DLL written in VB (ActiveX) that converts what the underlying component receives into XML. In turn, we wrap the VB DLL by our own InProcess ATL COM DLL (IDispatch, STA). Our component is loaded by IIS 5.0 through ASP pages that display the retrieved data in various ways, also storing much of it on the server and client for use during the session. Anyway, after 1 or 2 successes (as many as 4) it crashes IIS. If I run a trimmed down part of the ASP that crashing, I see an error returning, 0x800A01FB. This error seems to come from a variety of locations on the Net so I'm having trouble isolating what exactly is causing the problem. I have the source for the top level ATL COM object. I also have the source for the VB underlying object, but not the very bottom J++ object. This stuff works FINE together over and over and over (500 times in a test VB app) when used from VB or MFC. Load it in IIS however, and down we go. I can't figure out how to load the C++ or VB object in the debugger under IIS... It's easy to debug either one under a VB test program, but it works fine there. Can ANYONE PLEASE give me a pointer or two. This is week 2 on this now and all my team is grinding to a halt waiting on this fix. Matt:confused: :confused: :confused:
I don't play with this stuff all the time, but you might be able to start a debug session either by attaching to the IIS process _or_ by compiling in a break point. I think if you stick an
_asm int 3;
in the c++ code the JIT debugger (probably VC?) will kick in, and you'll be able to trace through the code (assuming you include and link with debug info). My understanding is that debugging a DLL invoked under IIS is the same as debugging a service, so you might also be able to use MessageBox with the MB_SERVICE_NOTIFICATION option for some really klunky debugging.