delphi - 进程名称在 Delphi XE 中不可见附加到进程对话框 - 无法调试

标签 delphi debugging iis-7.5 delphi-xe isapi

场景:

  • 使用 Delphi XE 编写的 Delphi ISAPI dll,32 位。

    ISAPI dll 通过 IIS 7.5 在 Win 7 64 企业桌面上运行 机器。

    DLL 运行良好。

    在 Delphi XE IDE 中使用 Run->Attach to 调试 ISAPI DLL 流程:

    启动 ISAPI DLL 并附加到 wpw3.exe *32 进程 调试器 - 可以跟踪和调试在 ISAPI 上下文中运行的代码。

问题:

  • 我的硬盘上周坏了,我安装了新的 Win 7 - 标准企业范围的 Win 7 64 企业镜像(与我的不一样) 之前的 Win 7 64 安装)。

    现在,当我进入“运行”->“附加到进程”时,我不再看到 wpw3.exe *32 按名称进程,尽管它在任务管理器中可见 按名字。调用“附加到”上的“显示系统进程”选项 进程对话框没有帮助。

    我现在看到的(我之前在旧部署中从未看到过)是 一长串带有 PID 的“通用”系统进程,但没有 “系统”以外的描述。

    其中一个进程是我的 wpw3.exe *32 进程,我已经识别出 它的 PID 使用 MS 的 Process Explorer。但如果我尝试附加到 该进程我收到一条错误消息 - '无法创建进程 - 访问被拒绝' - 所以我无法调试。 (相同的错误消息“错误 “打开进程,访问被拒绝”也显示在 Process Explorer 中 某些属性,尽管进程的描述性名称' wpw3.exe *32' 在那里可见,与 PID 相关联。)

    如何让“运行”->“附加到进程”对话框显示 正确的 wpw3.exe *32 进程名称并附加到它,以便我可以调试?

    这是 Delphi 的问题吗? IIS 问题? ISAPI 问题?这是一个问题 - 即缺乏描述性进程名称和无法附加到进程是由同一问题引起的吗?或者这是两个问题:一个问题是缺乏描述性名称,另一个问题是无法附加到流程?

    (不想使用 - 无法真正使用 - webApp 调试器 - 这些是 ISAPI dll,它们完全按照原样部署到生产环境中 在 IIS 中编写和调试 - 我需要看到它们在 IIS 中运行 上下文。)

  • 多年来一直以这种方式调试 ISAPI dll,使用不同版本的 Delphi 以及在各种操作系统和服务器环境中,没有出现任何问题 - 以前从未遇到过此问题。我被难住了。

最佳答案

我的帐户具有管理员权限,但我突然想到应该尝试以管理员身份运行 DelphiXE - 使用“以管理员身份运行”选项启动它。

我收到提示“您想允许...” - 单击"is",然后 Delphi 运行。设置我的进程并连接并跟踪我的代码 - 进程名称现在可见,我可以附加到我的 IIS 进程并在 Delphi 调试器中进行调试。

无论出于何种原因,我在之前的部署中都不需要执行此步骤 - 但问题已解决。

关于delphi - 进程名称在 Delphi XE 中不可见附加到进程对话框 - 无法调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416231/

相关文章:

delphi - 在 Delphi 中使用 RichEdit 中的表格

javascript - Ruby 的 "inspect"的 JavaScript 等价物是什么?

asp.net - 为现有 ASP.NET 网站添加基于区域设置的 URL 子目录,正确解析相对路径

visual-studio - 有没有办法防止 Visual Studio 在特定方法中打破异常?

delphi - 如何从 IIS ISAPI 的 GetExtensionVersion 中获取我网站的 URL?

asp.net - RequestFiltering 不适用于 MS-DOS 设备名称路径

delphi - 如何在循环中定期更改 TLabel 标题?

delphi - 设置TPngImage的颜色类型

delphi - 如何使用 DUnit 测试私有(private)方法?

c - 当我调试死锁情况消失时......那么我到底是怎么找到错误的呢?