Ich verwende Delphi XE unter Windows 7 Pro 64 und IIS 7.5 und entwickle eine ISAPI-Anwendung. IIS ist korrekt konfiguriert (einschließlich der Ausführung von 32-Bit-Code in einem ISAPI-Prozess). Der ISAPI-Prozess wird ordnungsgemäß ausgeführt.
In Delphi versuche ich, an den ISAPI-Prozess, der auf localHost läuft, anzuhängen, um meinen ISAPI.dll-Code zu durchlaufen: Run- & gt; Anhängen an Process- & gt; InetInfo.exe.
Ich habe das tausendmal mit Windows XP und IIS 5 gemacht, aber in dieser neuen Umgebung kann ich mich nicht an den ISAPI-Prozess anhängen. Ich bekomme eine Fehlermeldung in der IDE, wenn ich versuche anzufügen:
Prozess kann nicht erstellt werden - die Anfrage wird nicht unterstützt
Das kostet mich viel Zeit - ich muss Debug-Strings für jede Codezeile pumpen, die App ausführen und dann meine Debug-Strings usw. ansehen.
Warum kann ich den ISAPI-Prozess nicht anhängen? Ist dies ein IIS 7.5-Konfigurationsproblem? Vielleicht im Zusammenhang mit 32/64-Bit-Problemen, weil IIS native 64-Bit- und Delphi-Debugger 32-Bit ist?
Wenn IIS 64bit eine ISAPI.DLL verwendet, die ein 32-Bit-Modul ist, muss es einen 32-Bit-Ladeprozess verwenden. Sie können ProcessExplorer verwenden, um herauszufinden, welcher Prozess Ihre ISAPI.DLL lädt und Delphi an diesen Prozess anfügt.
Sie können Ihre 32-Bit-ISAPI-DLL auf einem x64-Bit-Computer debuggen, indem Sie in den erweiterten App-Pool-Einstellungen in IIS 7.5 die Option "32-Bit-Anwendung aktivieren" auf "true" setzen.
In Delphi geben Sie "C: \ Windows \ System32 \ inetsrv \ w3wp.exe" als Host-Anwendung mit den Parametern "-debug" an. Starten Sie die Delphi IDE als Admin und los geht's. Wenn Sie mehr Kontrolle darüber benötigen, wie w3wp gestartet wird, ermitteln Sie die verfügbaren Optionen mit dem Befehl C: \ Windows \ System32 \ inetsrv \ w3wp.exe -?
Hoffe, das hilft!
Sie können Ihre Delphi ISAPI-Webanwendung unter IIS 7.5 mit dem folgenden Tool debuggen Ссылка . (Sie müssen die Datei ISAPIFwd.ini einrichten)