Wie kann ich den Delphi Debugger an 64-Bit IIS 7.5 anhängen?

8

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?

    
Vector 05.05.2011, 14:51
quelle

5 Antworten

3

Erfahren Sie es hier, Ссылка

Um es klar zu machen, ist w3wp.exe im iis worker Prozess-Isolationsmodus der Prozess, der Ihre isapi-Filter lädt, also sollten Sie ihn anhängen, anstatt inetinfo.exe.

    
Lex Li 12.05.2011, 06:05
quelle
2

Vielleicht möchtest du das hier sehen: Ссылка

    
Olaf Monien 06.05.2011 12:01
quelle
2

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.

    
Fabricio Araujo 11.05.2011 17:30
quelle
2

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!

    
Johan Sundström 10.05.2012 11:07
quelle
1

Sie können Ihre Delphi ISAPI-Webanwendung unter IIS 7.5 mit dem folgenden Tool debuggen Ссылка . (Sie müssen die Datei ISAPIFwd.ini einrichten)

    
Paul Klink 12.05.2011 04:29
quelle