Debugowanie zdalne (aparat debugera)

Debugowanie zdalne występuje, gdy komunikacja klienta z obiektem docelowym jest pośrednia, na przykład za pośrednictwem połączenia sieciowego. Podczas zdalnego debugowania może być zaangażowanych w debugowanie obiektu docelowego więcej niż jedno wystąpienie aparatu debugera. Jednak dokładnie jedno z tych wystąpień jest odpowiedzialne za sesję debugowania; to wystąpienie jest nazywane silnikiem hosta .

Istnieje wiele możliwych konfiguracji: obiekt klienta można utworzyć w aparacie hosta (klienci inteligentni) lub w innym wystąpieniu aparatu (klienci debugowania); aparat hosta można połączyć bezpośrednio z celem (serwer debugowania); lub serwer proxy można połączyć bezpośrednio z celem (serwer procesu i serwer połączenia z jądrem).

Wielu klientów może jednocześnie łączyć się z silnikiem hosta. Silnik hosta może łączyć się z wieloma celami w tej samej sesji debugowania. Opcjonalnie może istnieć co najmniej jeden serwer proxy między klientami a aparatem hosta i między aparatem hosta a każdym obiektem docelowym.

Inteligentne aplikacje klienckie to obiekty klienta komunikujące się bezpośrednio z silnikiem hosta. Klient debuggera jest tworzony przez wywołanie DebugConnect; klient komunikuje się z silnikiem hosta przy użyciu wywołań RPC reprezentujących wywołania metod w interfejsie API silnika (w tym wywołania wykonywane przez silnik hosta do obiektów wywołania zwrotnego klienta ).

Serwer debugowania to wystąpienie maszyny, które komunikuje się bezpośrednio z obiektem docelowym, a także maszyna hosta. Serwery procesów i serwery połączeń jądra komunikują się bezpośrednio z celem, ale nie są silnikiem hosta. Silnik hosta komunikuje się z serwerem przetwarzania lub serwerem połączenia jądra, wysyłając niskopoziomowe żądania dotyczące pamięci, procesora i systemu operacyjnego, a serwer zwraca wyniki.

Uwaga Typowa konfiguracja dwóch komputerów do debugowania jądra – gdzie jeden komputer jest docelowy, a drugi gospodarzem – nie jest uważana za zdalne debugowanie, ponieważ istnieje tylko jedno wystąpienie mechanizmu (na komputerze gospodarza) i komunikuje się ono bezpośrednio z komputerem docelowym.

Dodatkowe informacje

Aby uzyskać szczegółowe informacje na temat przeprowadzania zdalnego debugowania, zobacz remote targets.