Debuggen von Komponenten, die in Visual C++ geschrieben wurden
Wenn Sie bereit sind, die COM+-Funktionalität in Ihren Microsoft Visual C++-Komponenten zu debuggen, können Sie das Visual C++-Projekt oder das Komponentendienste-Verwaltungstool konfigurieren, um den Debugger zu starten. Wenn Sie Visual C++ verwenden, können Sie das Debuggen mit einem Remoteclient mithilfe von OLE RPC und JIT-Debugging (Just-In-Time) durchführen. Wenn Sie Ihren Client nicht unter dem Debugger ausführen können oder wenn der Client auf einem anderen Computer ausgeführt wird, können Sie die Einstellung COM+ Starten im Debugger verwenden. Dies finden Sie im Verwaltungstool Komponentendienste als Kontrollkästchen auf der Registerkarte Erweitert des Dialogfelds COM+- Anwendungseigenschaften .
Wenn Sie das Debuggen abgeschlossen haben, sollten Sie die COM+-Anwendungen herunterfahren, die Sie debuggen. Wenn ein Serverprozess nicht mehr ausgeführt wird, erhalten Sie möglicherweise eine Fehlermeldung, wenn Sie das nächste Mal versuchen, eine DLL zu erstellen, wenn die vorhandene DLL noch im Arbeitsspeicher geladen ist. Klicken Sie zum Herunterfahren einer COM+-Anwendung in der Konsolenstruktur mit der rechten Maustaste auf die Anwendung, und klicken Sie dann auf Herunterfahren.
Hinweis
Wenn Sie Transaktionen verwenden, können Sie auch das Transaktionstimeout erhöhen, das standardmäßig auf 60 Sekunden festgelegt ist. Sie können auch den Wert 0 angeben, wodurch ein unbegrenzter Transaktionstimeoutzeitraum angegeben wird. Ändern Sie mit dem Verwaltungstool Komponentendienste die Einstellung für das Transaktionstimeout auf der Registerkarte Optionen des Fensters "Meine Computereigenschaften ".
Debuggen von Serveranwendungskomponenten mit Visual C++
Beim Debuggen von COM+-Serveranwendungen sollten Sie Remoteaufrufe debuggen, indem Sie sowohl den Client als auch die Serveranwendung in den Debugger laden. Mit Visual C++ können Sie Remoteaufrufe an Ihre Komponenten über die JIT- und OLE-RPC-Einstellungen (Just-in-Time) debuggen. Die JIT-Einstellung bewirkt, dass die kompilierte Komponente den Visual C++-Debugger startet, wenn ein Fehler auftritt. Die OLE RPC-Einstellung ermöglicht es dem Debugger, beim Durchlaufen des Codes von Client zu Komponente zu wechseln.
Wenn diese Features aktiviert sind, können Sie Ihren Client unter dem Debugger starten. Wenn der Client ihre Komponente aufruft, führt der Debugger den Code der Komponente im Serverprozess ein, auch wenn sich der Server auf einem anderen Computer im Netzwerk befindet. Auf dem Servercomputer wird bei Bedarf automatisch eine Debugsitzung gestartet. Auf ähnliche Weise wird beim einmaligen Durchlaufen der return-Anweisung im Code der Komponente das Debuggen zur nächsten Anweisung im Clientcode zurückgegeben.
Hinweis
Möglicherweise können Sie einige Schritte speichern, indem Sie die Einstellung COM+ -Start im Debugger verwenden. Dadurch können Sie den Visual C++-Debugger (oder einen anderen Debugger) angeben, ohne spezielle Debugeinstellungen in der Visual C++-Umgebung vornehmen zu müssen. Dies finden Sie im Verwaltungstool Komponentendienste als Kontrollkästchen auf der Registerkarte Erweitert des Dialogfelds COM+- Anwendungseigenschaften . Weitere Informationen finden Sie unter Debuggen ohne Visual C++in diesem Thema.
Wenn es sich bei der COM+-Anwendung, die Ihre Komponente enthält, um eine Serveranwendung handelt, müssen Sie zunächst die Anwendung mithilfe des Component Services-Verwaltungstools herunterfahren. Klicken Sie hierzu in der Konsolenstruktur mit der rechten Maustaste auf die COM+-Anwendung, und klicken Sie dann auf Herunterfahren.
So aktivieren Sie das RPC-Debuggen in Visual C++
Klicken Sie in Visual C++ im Menü Extras auf Optionen.
Aktivieren Sie im Dialogfeld Optionen auf der Registerkarte Debuggen die Kontrollkästchen OLE RPC-Debuggen und Just-in-Time-Debuggen .
Klicken Sie auf OK.
Starten Sie ihr Clientprojekt im Debugger, um mit dem Debuggen zu beginnen.
Sie können Ihre Komponente auch debuggen, ohne den Client im Debugger zu starten. In diesem Fall muss Die Komponente den Debugger selbst starten. Dazu muss Ihr Komponentenprojekt eine ausführbare Datei für die Debugsitzung zusammen mit der COM+-Anwendungs-ID angeben.
So aktivieren Sie eine Serveranwendungskomponente zum Starten des Visual C++-Debuggers
Klicken Sie im Menü Projekt auf Einstellungen.
Wählen Sie im Dialogfeld Projekteinstellungen im Feld Einstellungen für die Option Win32 Debuggen aus.
Wählen Sie auf der Registerkarte Debuggen im Feld Kategorie die Option Allgemein aus.
Geben Sie im Feld Ausführbare Datei für Debugsitzung den vollqualifizierten Pfad für Dllhost.exe ein, gefolgt von einem Argument, das die Anwendungs-ID der COM+-Anwendung angibt, die die Komponente enthält.
Hinweis
Mit dem Verwaltungstool Komponentendienste finden Sie die Anwendungs-ID auf der Registerkarte Allgemein im Dialogfeld Eigenschaften der COM+-Anwendung. Dies ist ein Beispiel:
Hinweis
C:\Winnt\System32\Dllhost.exe /ProcessID:{applicationID}
Klicken Sie auf OK.
Sie können jetzt Haltepunkte festlegen, den Debugger starten und mit aufrufen der Komponente beginnen.
Debuggen von Bibliotheksanwendungskomponenten mit Visual C++
Zum Debuggen von Komponenten in einer Bibliotheksanwendung müssen Sie das Projekt des Clients konfigurieren, da der Clientprozess die Bibliotheksanwendung hosten wird.
So aktivieren Sie das Debuggen von Bibliotheksanwendungen mit Visual C++
Klicken Sie in Visual C++ im Menü Projekt auf Einstellungen.
Klicken Sie im Dialogfeld Projekteinstellungen im Feld Einstellungen für auf Win32 Debuggen.
Klicken Sie auf der Registerkarte Debuggen im Feld Kategorie auf Zusätzliche DLLs.
Fügen Sie in der Liste Module die Komponenten-DLLs in Ihrer Bibliotheksanwendung hinzu. Auf diese Weise können Sie Haltepunkte festlegen, bevor Ihre DLL tatsächlich geladen wird.
Klicken Sie auf OK.
Debuggen ohne Visual C++
Unabhängig davon, ob Sie Visual C++ zum Debuggen verwenden, können Sie die Einstellung In Debugger starten verwenden, um den Debugger anzugeben, in dem Ihre Komponenten ausgeführt werden sollen.
So geben Sie einen Debugger über das Component Services-Verwaltungstool an
Wählen Sie in der Konsolenstruktur die COM+-Bibliotheksanwendung aus, die die Komponenten enthält, die Sie debuggen möchten.
Klicken Sie mit der rechten Maustaste auf die Anwendung, und klicken Sie dann auf Eigenschaften.
Klicken Sie im Dialogfeld Eigenschaften der Anwendung auf die Registerkarte Erweitert .
Aktivieren Sie unter Debuggen das Kontrollkästchen Im Debugger starten .
Geben Sie im Feld Debuggerpfad den Pfad zu dem Debugger ein, den Sie verwenden möchten. Sie können auch auf Durchsuchen klicken, um den Debugger zu suchen. Im Folgenden finden Sie ein Beispiel: C:\Winnt\System32\Ntsd.exe.
Klicken Sie auf OK.
Zugehörige Themen