Debugowanie serwera COM i kontenera

Aplikacje COM wykonują wiele zadań poza bezpośrednią kontrolą programisty. Komunikacja między bibliotekami DLL, liczba użycia obiektów i operacjami Schowka to tylko kilka obszarów, w których może wystąpić nieoczekiwane zachowanie. W takim przypadku pierwszym krokiem jest śledzenie źródła problemu.

Debuger programu Visual Studio obsługuje przechodzenie między kontenerami i serwerami. Obejmuje to możliwość przechodzenia między zdalnymi wywołaniami procedur (RPC).

Debugowanie serwera COM i kontenera w tym samym rozwiązaniu

Serwer COM i kontener można debugować przy użyciu dwóch projektów w ramach tego samego rozwiązania. Ustaw odpowiednie punkty przerwania w każdym projekcie i debuguj. Gdy kontener wykonuje wywołanie serwera, który osiąga punkt przerwania, kontener będzie czekać, aż kod serwera powróci (czyli do momentu zakończenia debugowania).

Debugowanie kontenera COM jest podobne do debugowania standardowego programu. Jedną z różnic jest debugowanie zdarzenia, które generuje wywołanie zwrotne (na przykład przeciąganie danych przez aplikację kontenera). W takim przypadku należy ustawić punkt przerwania w funkcji wywołania zwrotnego.

Debugowanie aplikacji serwera bez informacji o kontenerze

Jeśli nie masz informacji o debugowaniu aplikacji kontenera lub nie chcesz ich używać, rozpoczęcie debugowania aplikacji serwera jest procesem trzyetapowym:

  1. Rozpocznij debugowanie serwera jako normalną aplikację.

  2. Ustaw punkty przerwania zgodnie z potrzebami.

  3. Uruchom aplikację kontenera.

Debugowanie aplikacji izolacji serwera i domeny (SDI)

W przypadku debugowania aplikacji serwera i izolacji domeny (SDI) należy określić /Embedding lub /Automation we właściwości Argumenty wiersza polecenia w oknie dialogowym Strony właściwości projektu dla projektów C/C++, C# lub Visual Basic.

Przy użyciu tych argumentów wiersza polecenia debuger może uruchomić aplikację serwera tak, jakby została uruchomiona z kontenera. Uruchomienie kontenera z Menedżera programów lub Menedżera plików spowoduje, że kontener wykorzysta instancję serwera uruchomioną w debugerze.

Aby uzyskać dostęp do okna dialogowego Strony właściwości projektu , kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań, a następnie wybierz polecenie Właściwości z menu skrótów. Aby znaleźć właściwość Argumenty wiersza polecenia, rozwiń kategorię Właściwości konfiguracji i kliknij zakładkę Debugowanie.