【发布时间】:2019-02-06 10:03:14
【问题描述】:
我在 Windows 10 v.1709 上运行 Delphi 10.2.3,我想将 64 位调试器附加到 IIS 的 64 位工作进程 w3wp.exe(我正在开发 ISAPI 模块)。
直到最近我才使用 Delphi 2010,并且当我的 ISAPI 32 位模块被 IIS 加载时,通过附加到 w3wp 进程来调试我的 ISAPI 32 位模块没有问题。
当我将 Delphi 10.2.3 附加到 64 位 w3wp 时,我没有任何调试信息,也无法在任何地方放置断点。我发现它一定是路径问题,因为在 Process Monitor 我可以看到这些行:
ReadFile: C:\BIN\my_PATH\Win64\my_ISAPI.dll
ReadFile: C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\<UNKNOWN>.rsm
ReadFile: C:\Program Files (x86)\Embarcadero\Studio\19.0\bin\<UNKNOWN>.dcp
我尝试在 Parameters 下使用工作目录和调试符号路径,但没有任何帮助。
知道如何在附加到进程后获得调试信息吗?
【问题讨论】:
-
可能想看看在这些说明的帮助下使用 IIS Express:Debugging ISAPI with IIS Express
-
好的,我会尝试用 IIS Express 替换 IIS。谢谢
-
建议使用 IIS Express(8 和 10 有 64 位版本)进行调试。但是您是否检查了在上述情况下是否正确生成了调试符号?调试器只有在
w3wp.exe加载符号时才能工作。 -
你如何触发
w3wp将加载符号?如果您的意思是调试符号 = .RSM 文件,那么是的,该文件已正确生成。
标签: delphi debugging iis 64-bit delphi-10.2-tokyo