2012-08-28 38 views
0

我们有一个在IIS中运行的delphi ISAPI dll web应用程序。该应用程序允许通过ASP页面可以实例化的COM对象进行扩展(com对象驻留在ISAPI DLL中)。当我们正在调试时,只要调用ASP页面来实例化COM对象调试失败,就不会有更多的断点工作。当DLL通过COM安装时,Debugging ISAPI dll在delphi 2006失败

此问题仅在Windows 7中出现。在Windows XP上调试工作正常。 (问题是我们不能继续在XP上开发!)任何洞察什么可能造成这一点,将不胜感激。我们使用的是2006年德尔福

+0

如何使用提示在这里(https://forums.embarcadero.com/thread.jspa?threadID=32906)? – Hendra

回答

0

注意我记得调试在Windows XP上我会设置隔离级别高,并开始自己的Dllhost.exe对于自动由IIS在COM +系统生成的applicationID 。

在Windows 7和新的IIS上,本节进行了修订,IIS现在运行自己的w3wp.exe进程,并将其分组到应用程序池中。检查ASP项目(或ISAPI扩展?)的应用程序池的隔离设置和最大进程,并尝试使用正确的参数自行启动w3wp.exe进程,或者连接到启动的进程。

+0

是的,这就是我正在做的,用-debug参数调用W3WP.exe。我可以调试dll,但只要一个asp页面被击中,调试就停止工作 –

+0

是ASP还是ASP.Net?如果是后者,它可能会过渡到托管代码,导致Delphi调试器出现问题。您确定要在一个Web应用程序中混合使用Delphi和非Delphi吗?看看http://xxm.sf.net/或其他Delphi + Web平台。另外一种选择是创建一个专门用于你的Delphi COM DLL的COM +包,并从dllhost.exe托管它,所以它可以和执行ASP的w3wp.exe一起运行。 –