Debuggen von in Visual C++ geschriebenen Komponenten

Wenn Sie bereit sind, die COM+-Funktionalität in Ihren Microsoft Visual C++ Komponenten zu debuggen, können Sie Visual C++ Projekt oder das Verwaltungstool Komponentendienste so konfigurieren, dass der Debugger gestartet wird. Wenn Sie Visual C++ verwenden, können Sie mit einem Remoteclient debuggen, indem Sie OLE RPC und JIT-Debuggen (Just-In-Time) verwenden. 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. Sie finden dies 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 weiterhin 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. Um eine COM+-Anwendung herunterzufahren, klicken Sie in der Konsolenstruktur mit der rechten Maustaste auf die Anwendung, und klicken Sie dann auf Herunterfahren.

Hinweis

Wenn Sie Transaktionen verwenden, sollten Sie auch das Transaktionstime out erhöhen, das standardmäßig auf 60 Sekunden festgelegt ist. Sie können auch den Wert 0 angeben, wodurch effektiv ein unendlicher Transaktionstime out-Zeitraum angegeben wird. Ändern Sie mit dem Verwaltungstool Komponentendienste die Einstellung für das Transaktionstime out auf der Registerkarte Optionen des Fensters Arbeitsplatz Eigenschaften.

Debuggen von Serveranwendungskomponenten mit Visual C++

Beim Debuggen von COM+-Serveranwendungen können Sie Remoteaufrufe debuggen, indem Sie sowohl den Client als auch die Serveranwendung in den Debugger laden. Mit Visual C++ können Sie Remoteaufrufe ihrer Komponenten über die Just-In-Time-Einstellungen (JIT) und OLE RPC-Einstellungen 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 schrittweise von Client zu Komponente zu springen.

Wenn diese Features aktiviert sind, können Sie Ihren Client unter dem Debugger starten. Wenn der Client ihre Komponente aufruft, führt der Debugger im Serverprozess einen Schritt in den Code der Komponente aus, auch wenn sich der Server auf einem anderen Computer im Netzwerk befindet. Eine Debugsitzung wird bei Bedarf automatisch auf dem Servercomputer gestartet. Auf ähnliche Weise wird beim einzelnen Schrittweisen hinter 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. Sie finden dies 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 mit dem Verwaltungstool Komponentendienste herunterfahren. Klicken Sie hierzu mit der rechten Maustaste auf die COM+-Anwendung in der Konsolenstruktur, und klicken Sie dann auf Herunterfahren.

So aktivieren Sie RPC-Debuggen in Visual C++

  1. Klicken Sie in Visual C++ im Menü Extras auf Optionen.

  2. Aktivieren Sie im Dialogfeld Optionen auf der Registerkarte Debuggen die Kontrollkästchen OLE RPC-Debuggen und Just-In-Time-Debuggen.

  3. 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. Hierzu muss ihr Komponentenprojekt eine ausführbare Datei für die Debugsitzung zusammen mit der COM+-Anwendungs-ID angeben.

So aktivieren Sie eine Serveranwendungskomponente, um den Visual C++ Debugger zu starten

  1. Klicken Sie im Menü Project auf Einstellungen.

  2. Wählen Sie im Dialogfeld Project Einstellungen im Feld Einstellungen For die Option Win32 Debug aus.

  3. Wählen Sie auf der Registerkarte Debuggen im Feld Kategorie die Option Allgemein aus.

  4. 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 des Dialogfelds Eigenschaften der COM+-Anwendung. Dies ist ein Beispiel:

    Hinweis

    C: \ Winnt \ System32 \Dllhost.exe /ProcessID:{applicationID}

  5. Klicken Sie auf OK.

Sie können nun Breakpoints festlegen, den Debugger starten und mit aufrufen.

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++

  1. Klicken Sie in Visual C++ im Menü Project auf Einstellungen.

  2. Klicken Sie im Dialogfeld Project Einstellungen im Feld Einstellungen For auf Win32 Debug.

  3. Klicken Sie auf der Registerkarte Debuggen im Feld Kategorie auf Zusätzliche DLLs.

  4. Fügen Sie in der Liste Module die Komponenten-DLLs in Ihrer Bibliotheksanwendung hinzu. Dadurch können Sie Haltepunkte festlegen, bevor Die DLL tatsächlich geladen wird.

  5. Klicken Sie auf OK.

Debuggen ohne Visual C++

Unabhängig davon, ob Sie Visual C++ für das Debuggen verwenden, können Sie die Einstellung Im Debugger starten verwenden, um den Debugger anzugeben, in dem Die Komponenten ausgeführt werden sollen.

So geben Sie einen Debugger über das Verwaltungstool "Komponentendienste" an

  1. Wählen Sie in der Konsolenstruktur die COM+-Bibliotheksanwendung mit den Komponenten aus, die Sie debuggen möchten.

  2. Klicken Sie mit der rechten Maustaste auf die Anwendung, und klicken Sie dann auf Eigenschaften.

  3. Klicken Sie im Dialogfeld Eigenschaften der Anwendung auf die Registerkarte Erweitert.

  4. Aktivieren Sie unter Debuggen das Kontrollkästchen Im Debugger starten.

  5. 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. Es folgt ein Beispiel: C: \ Winnt \ System32 \Ntsd.exe.

  6. Klicken Sie auf OK.

Debuggen von in Visual Basic geschriebenen Komponenten