Udostępnij za pośrednictwem


Kontrolowanie sesji zdalnego debugowania

Po rozpoczęciu sesji zdalnej polecenia można wprowadzić do serwera debugowania lub klienta debugowania. Jeśli istnieje wiele klientów, każdy z nich może wprowadzić polecenia. Po naciśnięciu ENTER polecenie jest przesyłane do serwera debugowania i wykonywane.

Za każdym razem, gdy jeden użytkownik wprowadzi polecenie, wszyscy użytkownicy zobaczą samo polecenie i jego dane wyjściowe. Jeśli to polecenie zostało wydane z poziomu klienta debugowania, wszyscy inni użytkownicy zobaczą identyfikację, poprzedzającą polecenie, który użytkownik je wydał. Polecenia wydane z serwera debugowania nie mają tego prefiksu.

Po wykonaniu polecenia przez jednego użytkownika inni użytkownicy, którzy są połączeni za pośrednictwem KD lub CDB, nie zobaczą nowego wiersza polecenia. Z drugiej strony użytkownicy systemu WinDbg będą widzieć monit w dolnym panelu okna polecenia debugera bez przerwy, nawet jeśli silnik debugera jest uruchomiony. Żadna z nich nie powinna być przyczyną alarmu; każdy użytkownik może w dowolnym momencie wprowadzić polecenie, a aparat wykona te polecenia w kolejności, w jakiej zostały odebrane.

Akcje wykonywane za pośrednictwem interfejsu WinDbg będą również wykonywane przez serwer debugowania.

Komunikacja między użytkownikami

Za każdym razem, gdy nowy klient debugowania łączy się z sesją, wszyscy inni użytkownicy zobaczą komunikat, że ten klient nawiązał połączenie. Po rozłączeniu klienta nie jest wyświetlany żaden komunikat.

Polecenie .clients (List Debug Clients) wyświetli listę wszystkich klientów aktualnie połączonych z sesją debugowania.

Polecenie .echo (Echo Comment) jest przydatne do wysyłania komunikatów od jednego użytkownika do innego.

obszarów roboczych WinDbg

Gdy windbg jest używany jako klient debugowania, jego obszar roboczy zapisze tylko wartości ustawione za pomocą interfejsu graficznego. Zmiany wprowadzone w oknie Polecenia debugera nie zostaną zapisane. (Gwarantuje to, że zostaną odzwierciedlone tylko zmiany wprowadzone przez klienta lokalnego, ponieważ w oknie Polecenia debugera będą akceptowane dane wejściowe ze wszystkich klientów, a także serwera debugowania).

ścieżki plików

Ścieżka symboli, ścieżka obrazu wykonywalnego i ścieżka biblioteki DLL rozszerzenia są interpretowane jako ścieżki plików względem folderu instalacyjnego Narzędzia debugowania dla systemu Windows na serwerze debugowania.

Gdy usługa WinDbg jest używana jako klient debugowania, ma również własną lokalną ścieżkę źródłową. Wszystkie polecenia związane ze źródłem będą uzyskiwać dostęp do plików źródłowych na komputerze lokalnym. W związku z tym należy ustawić odpowiednie ścieżki na dowolnym kliencie lub serwerze, który będzie używać poleceń źródłowych.

Ten system z wieloma ścieżkami umożliwia klientowi debugowania używanie poleceń związanych ze źródłem bez faktycznego udostępniania plików źródłowych innym klientom lub serwerowi. Jest to przydatne, jeśli istnieją prywatne lub poufne pliki źródłowe, do których jeden z użytkowników ma dostęp.

anulowanie serwera debugowania

Polecenie .endsrv (End Debug Server) może służyć do zakończenia serwera debugowania. Jeśli debuger ustanowił wiele serwerów debugowania, możesz anulować niektóre z nich, pozostawiając inne uruchomione.

Zakończenie serwera uniemożliwi dołączanie do niego wszelkich przyszłych klientów. Nie odetnie to żadnych klientów, którzy są obecnie podłączeni przez serwer.

zamykanie debugera i kończenie sesji

Aby wyjść z jednego klienta debugowania bez kończenia serwera, należy wydać polecenie z tego konkretnego klienta. Jeśli ten klient jest KD lub CDB, użyj klawiszy CTRL+B, aby wyjść. Jeśli używasz skryptu do uruchamiania KD lub CDB, użyj .remote_exit (Zakończ debugowanie klienta). Jeśli ten klient jest WinDbg, wybierz pozycję Zakończ z menu Plik, aby zakończyć pracę.

Aby zakończyć całą sesję i zamknąć serwer debugowania, użyj polecenia q (Zamknij). To polecenie można wprowadzić z dowolnego serwera lub klienta i zakończy całą sesję dla wszystkich użytkowników.

Ważny

Istnieją dodatkowe ważne zagadnienia dotyczące zabezpieczeń podczas korzystania z debugowania zdalnego, aby uzyskać więcej informacji, w tym informacje na temat włączania trybu bezpiecznego, zobacz Zabezpieczenia podczas debugowania zdalnego i zagadnienia dotyczące zabezpieczeń narzędzia debugowania systemu Windows.