Debuggen von COM+ in Delphi7
Gesammelt und zusammengestellt von Liu Xiaoming (Cipher)
Das problematischste Problem bei der Entwicklung von COM+-Anwendungssystemen ist das Debuggen von COM+-Komponenten. Da COM+ in der COM+-Ausführungsumgebung ausgeführt wird, können Delphi-Programmierer keine Haltepunkte direkt auf dem Anwendungsserver zum Debuggen in der IDE von Delphi festlegen, wie es im verteilten mehrschichtigen Anwendungssystem von Delphi der Fall ist.
Tatsächlich kann Delphi weiterhin COM+-Komponenten in der integrierten Entwicklungsumgebung von Delphi debuggen oder es Programmierern ermöglichen, Haltepunkte in der Programmeinheit der COM+-Komponente in der integrierten Entwicklungsumgebung festzulegen und dann die Clientanwendung auszuführen, um die COM+-Komponente aufzurufen. Zu diesem Zeitpunkt bringt Delphi die Ausführungskontrolle in die integrierte Entwicklungsumgebung von Delphi und hält an dem vom Programmierer festgelegten Haltepunkt an, damit der Programmierer mit dem Debuggen beginnen kann. Von nun an können Programmierer COM+-Komponenten genauso debuggen wie normale Anwendungen. Um COM+-Komponenten auf diese Weise debuggen zu können, müssen Programmierer jedoch zunächst einige Einstellungen vornehmen.
1. Aktivieren Sie das zu debuggende COM+-Komponentenprojekt in der integrierten Entwicklungsumgebung von Delphi, klicken Sie auf das Menü „Projekte | Optionen“, wählen Sie im Popup-Dialogfeld die Seite „Linker“ aus und wählen Sie „Td32-Informationen einschließen“ und „Remote-Debug-Symbol einschließen“ aus.
2. Klicken Sie auf das Menü „Ausführen|Com+-Objekte installieren“, um die COM+-Komponente zu registrieren, vorzugsweise in einer neuen Anwendung oder in einer vorhandenen Anwendung (diese Anwendung muss von Delphis registriertem COM-Programm generiert werden).
3. Führen Sie die Win2000-Systemsteuerung | Komponentendienste aus, suchen Sie die COM-registrierte Anwendung in der COM+-Anwendung, wählen Sie das Menü „Eigenschaften“ und wählen Sie im Popup-Dialogfeld die Seite „Erweitert“. , und wählen Sie die Option „Im Debugger starten“ aus. Der Debug-Pfad unten sieht etwa so aus: „C:/Program Files/Borland/Delphi7/Bin/bordbg70.exe“ dllhost.exe /Prozess-ID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}
4. Kehren Sie zur integrierten Entwicklungsumgebung von Delphi zurück, klicken Sie auf das Menü „Ausführen|Parameter“ und stellen Sie im Dialogfeld „Hostapplication“ auf „C:/WINNT/system32/DLLHOST.EXE“ ein (dies sollte entsprechend der Installationssituation Ihres Betriebssystems eingestellt werden). Parameter ist auf Folgendes festgelegt: /ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}; der Wert dieser GUID muss mit dem Attributwert im Win2000-Komponentendienst übereinstimmen und kann direkt von dort kopiert werden.
5. Legen Sie Haltepunkte fest und führen Sie COM in der integrierten Entwicklungsumgebung von Delphi aus.
6. Führen Sie das Client-Programm aus, das diese COM in Windows (oder in der neu geöffneten Delphi-Umgebung) aufruft.
Zu diesem Zeitpunkt werden Sie feststellen, dass COM in der Delphi-Entwicklungsumgebung am Haltepunkt stoppt und Sie mit der Verfolgung und dem Debuggen in einem Schritt fortfahren können.