Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
COM-Anwendungen führen eine Reihe von Aufgaben außerhalb der direkten Steuerung des Programmierers aus. Kommunikation zwischen DLLs, Verwendungszählungen für Objekte und Vorgänge mit der Zwischenablage sind nur einige Bereiche, in denen unerwartetes Verhalten auftreten kann. In diesem Fall besteht Ihr erster Schritt darin, die Quelle des Problems nachzuverfolgen.
Der Visual Studio-Debugger unterstützt das Übergehen von und Hineingehen in Container und Server. Dies umfasst die Möglichkeit, über Remoteprozeduraufrufe (RPC) hinwegzugehen.
Debuggen eines COM-Servers und -Containers in derselben Lösung
Sie können einen COM-Server und einen Container mithilfe von zwei Projekten innerhalb derselben Lösung debuggen. Legen Sie in jedem Projekt geeignete Haltepunkte fest, und debuggen Sie sie. Wenn der Container einen Aufruf an den Server sendet, der auf einen Haltepunkt trifft, wartet der Container, bis der Servercode zurückgegeben wird (d. a. bis Sie das Debuggen abgeschlossen haben).
Das Debuggen eines COM-Containers ähnelt dem Debuggen eines Standardprogramms. Ein Unterschied besteht darin, ein Ereignis zu debuggen, das einen Rückruf generiert (z. B. das Ziehen von Daten über die Containeranwendung). In diesem Fall müssen Sie einen Haltepunkt in der Rückruffunktion festlegen.
Debuggen einer Serveranwendung ohne Containerinformationen
Wenn Sie keine Debuginformationen für Ihre Containeranwendung verwenden möchten, ist das Debuggen der Serveranwendung ein dreistufiger Prozess:
Starten Sie das Debuggen des Servers als normale Anwendung.
Legen Sie Haltepunkte nach Bedarf fest.
Starten Sie die Containeranwendung.
Debuggen einer Server- und Domänenisolationsanwendung (SDI)
Wenn Sie eine Server- und Domänenisolation (SDI)-Serveranwendung debuggen, müssen Sie /Embedding oder /Automation in der Eigenschaft "Befehlszeilenargumente" im Dialogfeld "Projekteigenschaftenseiten" für C/C++-, C#- oder Visual Basic-Projekte angeben.
Mit diesen Befehlszeilenargumenten kann der Debugger die Serveranwendung so starten, als ob sie über einen Container gestartet wurde. Wenn Sie den Container vom Programm-Manager oder Datei-Manager starten, verwendet der Container die Instanz des Servers, die im Debugger gestartet wurde.
Um auf das Dialogfeld "Projekteigenschaftenseiten" zuzugreifen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt, und wählen Sie dann im Kontextmenü "Eigenschaften" aus. Um die Eigenschaft "Befehlszeilenargumente" zu finden, erweitern Sie die Kategorie "Konfigurationseigenschaften", und klicken Sie auf die Seite "Debuggen".