gpt4 book ai didi

delphi - 如何使用delphi调试器调试isapi扩展?

转载 作者:行者123 更新时间:2023-12-03 15:16:54 34 4
gpt4 key购买 nike

我正在尝试调试用 Delphi 编写的 ISAPI 扩展。该扩展工作得很好,但我似乎无法调试它(即设置断点并单步执行代码)。

这是我所做的:

  • 以管理员身份启动了 Delphi Rad Studio。
  • 确保通过在浏览器中访问扩展程序来加载该扩展程序。
  • 选择运行 -> 附加到进程。
  • 选择了 w3wp.exe 进程(未选中“附加后暂停”)
  • 在默认处理程序操作开始时设置断点
  • 尝试再次访问该扩展程序

但是,我的处理程序中从未触发断点(见下图):

enter image description here

最佳答案

您的方法的实用性有限,因为您只能在应用程序启动后开始调试。如果你需要从第一个请求开始调试它,这是没有用的。你应该这样做:

IIS 设置:

1) 在 IIS 上,在“默认网站”下创建一个新的 Web 应用程序。

2) 默认网站下的每个应用程序都应使用相同的应用程序池 DefaultAppPool。确保此应用程序池无需调试即可运行 ISAPI 应用程序。如果您无法使用它运行 ISAPI 应用程序,您也将无法对其进行调试。

应用程序设置(Delphi IDE):

在 Delphi 中设置应用程序(任何 XE+ IDE 都有类似的设置)

1) 以管理员身份运行Delphi。不是绝对必需的,但可以使很多事情变得更容易并避免很多问题。

2) 在Delphi Ide 中,选择“运行”->“参数”。通知主机应用程序和参数,如下图所示:

Delphi App setup for ISAPI debuggingW3WP.exe 是 IIS 工作进程可执行文件,我们将以交互方式运行它来调试 ISAPI 应用程序。请记住,存在 2 个版本的 w3wp.exe:一个 32 位版本位于 C:\Windows\SysWow64 下,另一个 64 位版本位于 C:\Windows\System32 下。 您必须使用与您的应用程序匹配的正确版本。

3) 停止万维网发布服务。您可以从提升的命令提示符处使用“net stop W3SVC”,或使用 Windows 服务控制台。

一旦 W3SVC 停止,只需从 Delphi IDE 运行应用程序并从浏览器调用它即可。当应用程序加载时,所有断点将被激活。您可以像任何其他 Delphi 应用程序一样进行调试。

关于delphi - 如何使用delphi调试器调试isapi扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44190866/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com