Debugowanie kontenera i serwera COM

Aplikacje COM wykonują wiele zadań poza bezpośrednią kontrolą programisty. Komunikacja między bibliotekami DLL, liczbami 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 Visual Studio obsługuje przechodzenie przez kontenery i serwery oraz przechodzenie do tych kontenerów. Obejmuje to możliwość wykonywania kroków 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 debugowania. Gdy kontener wykonuje wywołanie do serwera, który trafia do punktu przerwania, kontener będzie czekać na powrót kodu serwera (czyli aż do 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 lub nie chcesz używać informacji debugowania dla aplikacji kontenera, rozpoczęcie debugowania aplikacji serwera jest procesem trzyetapowym:

  1. Rozpocznij debugowanie serwera jako normalnej aplikacji.

  2. Ustaw punkty przerwania zgodnie z potrzebami.

  3. Uruchom aplikację kontenera.

Debugowanie aplikacji izolacji serwera i domeny (SDI)

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

Dzięki tym argumentom wiersza polecenia debuger może uruchomić aplikację serwera tak, jakby była uruchamiana z kontenera. Uruchomienie kontenera z Menedżera programów lub Menedżera plików spowoduje następnie, że kontener będzie używać wystąpienia serwera uruchomionego w debugerze.

Aby uzyskać dostęp do Project strony właściwości, kliknij prawym przyciskiem myszy projekt w Eksplorator 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 stronę Debugowanie.

Zobacz też