当通过COM安装dll时,delphi 2006中的调试ISAPI dll失败

当通过COM安装dll时,delphi 2006中的调试ISAPI dll失败,delphi,debugging,com,asp-classic,Delphi,Debugging,Com,Asp Classic,我们有一个在IIS中运行的delphi ISAPI dll web应用程序。应用程序允许通过ASP页面可以实例化的COM对象进行扩展(COM对象驻留在ISAPI dll中)。当我们进行调试时,只要调用一个ASP页面来实例化COM对象调试失败,就不会再有断点工作了 这个问题只在Windows7中出现。在windows XP上调试工作正常。(问题是我们不能继续在XP上开发!)如果能深入了解造成这种情况的原因,我们将不胜感激 注意:我们使用的是Delphi 2006我记得在Windows XP上调试时

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

这个问题只在Windows7中出现。在windows XP上调试工作正常。(问题是我们不能继续在XP上开发!)如果能深入了解造成这种情况的原因,我们将不胜感激


注意:我们使用的是Delphi 2006

我记得在Windows XP上调试时,我会将隔离级别设置为高,并为COM+系统中IIS自动生成的应用程序ID启动dllhost.exe


在Windows 7和新的IIS上,此部分经过修订,IIS现在运行自己的w3wp.exe进程,这些进程分组在应用程序池中。请检查ASP项目(或ISAPI扩展?)的应用程序池的隔离设置和最大进程数,并尝试使用正确的参数自己启动w3wp.exe进程,或将其附加到已启动的进程。

在此处使用提示()如何?是的,我就是这样做的,使用-debug参数调用w3wp.exe。我可以调试dll,但是一旦asp页面被点击,调试就会停止工作。是asp还是asp.Net?如果是后者,则可能是向托管代码的转换导致Delphi调试器出现问题。您确定要在一个web应用程序中混合使用Delphi和非Delphi吗?看一看或其他Delphi+Web平台。另外一个选项可能是专门为Delphi COM DLL创建一个COM+包,并从dllhost.exe托管它,以便它与执行ASP.NET的w3wp.exe一起运行。