Freigeben über


Debuggen von COM-Servern und -Containern

COM-Anwendungen führen eine Reihe von Tasks durch, die nicht direkt vom Programmierer gesteuert werden können.Zu den Bereichen, in denen ein unerwartetes Verhalten auftreten kann, gehören beispielsweise die Kommunikation zwischen DLLs, die Verwendungshäufigkeit von Objekten sowie Zwischenablageoperationen.In einem solchen Fall sollten Sie zunächst die Problemursache ermitteln.

Der Visual Studio-Debugger unterstützt das Springen über und in Container und Server.Dies schließt die Möglichkeit ein, Remoteprozeduraufrufe zu überspringen.

In diesem Thema

  1. Debugging a COM Server and Container in the Same Solution

  2. Debugging a Server Application Without Container Information

  3. Debugging a Server and Domain Isolation (SDI) Application

Ein COM-Server und-Container in der gleichen Projektmappe debuggen

COM-Server und -Container können mithilfe von zwei Projekten in derselben Projektmappe gedebuggt werden.Sie legen die geeigneten Haltepunkte pro Projekt fest und beginnen dann mit dem Debuggen.Wenn der Container einen Server aufruft und auf einen Haltepunkt trifft, wartet der Container so lange, bis der Servercode wieder verfügbar ist (d. h., bis der Debugvorgang beendet ist).Sie können auch den Ablauf von Aufrufen verfolgen, die Prozessgrenzen überschreiten.Weitere Informationen hierzu finden Sie unter Das Trace-Makro.

Das Debuggen eines COM-Containers ist vergleichbar mit dem Debuggen eines Standardprogramms.Hiervon ausgenommen ist jedoch das Debuggen eines Ereignisses, durch das ein Rückruf generiert wird (z. B. das Ziehen von Daten über die Containeranwendung).In diesem Fall müssen Sie einen Haltepunkt in der Rückruffunktion setzen.

Debuggen eine Serveranwendung ohne Containerinformationen

Wenn Sie nicht besitzen oder keine Debuginformationen für die Containeranwendung verwenden möchten, ist das Debuggen der Serveranwendung wird gestartet drei Schritte:

  1. Debuggen Sie den Server wie eine normale Anwendung.

  2. Legen Sie die gewünschten Haltepunkte fest.

  3. Starten Sie die Containeranwendung.

Debuggen einer Server- und Domain Isolation (SDI)

Beim Debuggen einer SDI-Serveranwendung müssen Sie für Projekte in C/C++, C# oder Visual Basic im Dialogfeld Projekt-Eigenschaftenseiten in der Eigenschaft Befehlszeilenargumente die Option /Embedding oder /Automation festlegen.

Mithilfe dieser Befehlszeilenargumente kann die Serveranwendung vom Debugger wie von einem Container aus gestartet werden.Das Starten des Containers im Programm-Manager oder Datei-Manager bewirkt dann, dass der Container die im Debugger gestartete Instanz des Servers verwendet.

Zum Öffnen des Dialogfelds Projekt-Eigenschaftenseiten klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und klicken anschließend im Kontextmenü auf Eigenschaften.Die Eigenschaft Befehlszeilenargumente wird angezeigt, wenn Sie die Kategorie Konfigurationseigenschaften erweitern und dann auf die Seite Debuggen klicken.

Siehe auch

Weitere Ressourcen

Debuggen von COM und ActiveX