> Delphi ISAPI dll使用Delphi XE编写,32位.
ISAPI DLL在Win 7 64企业桌面上运行IIS 7.5
机.
DLL运行正常.
使用Run-> Attach to调试Delphi XE IDE中的ISAPI DLL
处理:
启动ISAPI DLL并附加到wpw3.exe * 32进程中
调试器 – 可以在ISAPI上下文中运行时跟踪和调试代码.
问题:
>我的硬盘上周死了,我得到了一个新的Win 7安装 –
标准企业范围Win 7 64企业形象(与我的不一样)
以前的Win 7 64安装).
现在,当我进入Run-> Attach to Process时,我不再看到了
wpw3.exe * 32按名称进程,尽管它在任务管理器中可见
按名字.在“附加到”上调用“show system processes”选项
进程’对话框没有帮助.
我现在看到的(我以前在旧部署中从未见过的)是
一个很长的’通用’系统进程列表,但没有PID
“系统”以外的描述.
其中一个进程是我的wpw3.exe * 32进程,我已经确定了
它的PID使用MS的Process Explorer.但如果我试着依附
那个过程我收到一条错误信息 – ‘无法创建流程 –
访问被拒绝’ – 所以我无法调试. (相同的错误消息’错误
打开过程,Access denied’也在Process Explorer中显示
某些属性,虽然过程的描述性名称’
wpw3.exe * 32’在那里可见,与PID相关联.)
如何获取Run-> Attach to process对话框以显示
正确的wpw3.exe * 32进程名称并附加到它,所以我可以调试?
这是德尔福问题吗?一个IIS问题? ISAPI问题?这是一个问题 – 即缺乏描述性的过程名称和无法附加到过程是由同样的问题引起的;或者是这两个问题:一个问题是缺乏描述性名称,另一个问题是无法附加到流程?
(不想使用 – 无法真正使用 – webApp调试器 –
这些是完全按照它们部署到生产的ISAPI dll
在IIS中编写和调试 – 我需要看到它们在IIS中运行
上下文.)
>用这种方式调试ISAPI dll已有好几年了,不同版本的Delphi以及各种操作系统和服务器环境没有任何问题 – 以前从未遇到过这个问题.我很难过.
我得到提示’你想允许……’ – 点击是,Delphi跑了.设置我的进程并连接并跟踪我的代码 – 进程名称现在可见,我可以附加到我的IIS进程并在Delphi调试器中进行调试.
无论出于何种原因,我无需在我之前的部署中执行此步骤 – 但问题已解决.