We have a delphi ISAPI dll web app that runs in IIS. The application allows extensions via a COM object that ASP pages can instantiate (the com object resides within the ISAPI dll). When we are debugging, as soon as an ASP page is called that instantiates the COM object debugging fails, no more breakpoints will work.

This problem only presents itself in Windows 7. Debugging on windows XP works fine. (Problem is we cannot continue to develop on XP!) Any insight into what might be causing this would be appreciated.

1 Answer
1

I remember for debugging on Windows XP I would set the isolation level to high, and start the dllhost.exe myself for the ApplicationID that is automatically generated by IIS in the COM+ system.

On Windows 7 and the new IIS, this section is revised and IIS now runs its own w3wp.exe processes grouped in application pools. Check the isolation settings and maximum processes of the Application Pool your ASP project (or ISAPI extension?) and try to either start the w3wp.exe process yourself with the correct parameters or attach to the one that is started.

Yes that's what I am doing, calling W3WP.exe with -debug parameter. And I can debug the dll but as soon as an asp page is hit the debugging stops working
–
Jack AllanAug 29 '12 at 9:16

Is it ASP or ASP.Net? If the latter it may be the transition to managed code that causes trouble with the Delphi debugger. Are you sure you want to mix Delphi and non-Delphi in one web-application? Have a look at xxm.sf.net or other Delphi+Web platforms. Also another option may be to create a COM+ package specifically for your Delphi COM DLL, and host it from dllhost.exe, so it runs alongside the w3wp.exe that's doing ASP.
–
Stijn SandersAug 29 '12 at 18:18