Debugowanie za pomocą Visual Studio dla komputerów Mac

Visual Studio dla komputerów Mac debugerów z obsługą aplikacji .NET Core, .NET Framework, Unity i Xamarin.

Visual Studio dla komputerów Mac korzysta z debugera mono soft debuger, który jest implementowane w środowisko uruchomieniowe Mono, co Visual Studio dla komputerów Mac debugowanie kodu zarządzanego na wszystkich platformach.

Debuger

Visual Studio dla komputerów Mac debuger mono soft debuger do debugowania kodu zarządzanego (C# lub F#) we wszystkich aplikacjach platformy Xamarin. Debuger mono soft różni się od zwykłych debugerów tym, że jest kooperatywnie debugerem wbudowanym w środowisko uruchomieniowe Mono; wygenerowany kod i środowisko uruchomieniowe Mono ze środowiskami IDE w celu zapewnienia środowiska debugowania. Narzędzie środowisko uruchomieniowe Mono udostępnia funkcje debugowania za pośrednictwem protokołu przewodowego, o którym więcej informacji można znaleźć w dokumentacji mono.

Debugery twarde, takie jak LLDB lub GDB,kontrolują program bez wiedzy lub współpracy z debugowany program, ale mogą być przydatne podczas debugowania aplikacji Xamarin w przypadku, gdy trzeba debugować natywny kod systemu iOS lub Android.

W przypadku aplikacji .NET Core i ASP.NET Core Visual Studio dla komputerów Mac debuger .NET Core. Ten debuger jest również kooperatywną debugerem i współpracuje ze środowiskiem uruchomieniowym .NET.

Korzystanie z debugera

Aby rozpocząć debugowanie dowolnej aplikacji, zawsze upewnij się, że konfiguracja jest ustawiona na debugowanie. Konfiguracja debugowania udostępnia przydatny zestaw narzędzi do obsługi debugowania, takich jak punkty przerwania, korzystanie z wizualizatorów danych i wyświetlanie stosu wywołań:

Konfiguracja debugowania

Ustawianie punktu przerwania

Aby ustawić punkt przerwania w idee, kliknij obszar marginesu edytora obok numeru wiersza kodu, w którym chcesz przerwać:

Ustawianie punktu przerwania na marginesie

Możesz wyświetlić wszystkie punkty przerwania, które zostały ustawione w kodzie, przechodząc do okna Punkty przerwania:

Lista punktów przerwania

Rozpocznij debugowanie

Aby rozpocząć debugowanie, wybierz przeglądarkę docelową, urządzenie lub symulator/emulator:

Konfiguracja debugowania  Wybierz urządzenie docelowe

Następnie wd wdrażaj aplikację, naciskając przycisk Odtwarzania lub cmd + return. Po trafieniu punktu przerwania kod zostanie wyróżniony żółtym kolorem:

Wyróżnienie pokazujące, że został trafiony punkt przerwania

Narzędzia debugowania, takie jak narzędzia używane do sprawdzania wartości obiektów, mogą na tym etapie służyć do uzyskania dodatkowych informacji o tym, co dzieje się w kodzie:

Debugowanie wizualizacji

Warunkowe punkty przerwania

Można również ustawić reguły dyktujące okoliczności, w których powinien wystąpić punkt przerwania. Jest to nazywane dodawaniem warunkowego punktu przerwania. Aby ustawić warunkowy punkt przerwania, uzyskaj dostęp do okno Właściwości , co można zrobić na dwa sposoby:

  • Aby dodać nowy warunkowy punkt przerwania, kliknij prawym przyciskiem myszy margines edytora z lewej strony numeru wiersza dla kodu, dla których chcesz ustawić punkt przerwania, a następnie wybierz pozycję Nowy punkt przerwania:

Menu kontekstowe punktu przerwania

  • Aby dodać warunek do istniejącego punktu przerwania, kliknij prawym przyciskiem myszy punkt przerwania i wybierz pozycję Właściwości punktu przerwania lub w oknie Punkty przerwania wybierz przycisk Edytuj punkt przerwania zilustrowany poniżej:

Edytowanie istniejącego punktu przerwania w oknie punktów przerwania

Następnie możesz wprowadzić warunek, w którym ma wystąpić punkt przerwania:

Edytowanie warunków punktu przerwania

Wykonywanie krokowe kodu

Po osiągnięciu punktu przerwania narzędzia debugowania umożliwiają uzyskiwanie kontroli nad wykonywaniem programu. Visual Studio dla komputerów Mac wyświetli cztery przyciski, dzięki czemu można uruchamiać kod i przechodzić przez nie krok po kroku. W Visual Studio dla komputerów Mac będą one wyglądać następująco:

Przyciski do krokowego instrukcje kodu

Oto cztery przyciski:

  • Odtwarzanie — spowoduje to rozpoczęcie wykonywania kodu do następnego punktu przerwania.
  • Krok po kroku — spowoduje to wykonanie następnego wiersza kodu. Jeśli następny wiersz jest wywołaniem funkcji, funkcja Step Over wykona funkcję i zatrzyma się w następnym wierszu kodu po funkcji.
  • Krok do — spowoduje to również wykonanie następnego wiersza kodu. Jeśli następny wiersz jest wywołaniem funkcji, funkcja Step Into zatrzyma się w pierwszym wierszu funkcji, umożliwiając kontynuowanie debugowania funkcji wiersz po wierszu. Jeśli następny wiersz nie jest funkcją, będzie on zachowywać się tak samo jak Krok po kroku.
  • Step Out — spowoduje to powrót do wiersza, w którym wywołano bieżącą funkcję.

Zmienianie następnej instrukcji wykonywanej

Po wstrzymaniu działania debugera strzałka na marginesie pokazuje, który wiersz kodu zostanie wykonany jako następny. Możesz kliknąć i przeciągnąć strzałkę do innego wiersza kodu, aby zmienić instrukcję, która zostanie wykonana. To samo można osiągnąć, klikając prawym przyciskiem myszy wiersz kodu i wybierając pozycję Ustaw następną instrukcje z menu kontekstowego.

Przeciąganie i upuszczanie strzałki w celu ustawienia następnej instrukcji

Przestroga

Zmiana bieżącego wiersza wykonywania może spowodować nieoczekiwane zachowanie w aplikacji. Istnieją również pewne warunki, w których zmiana następnej instrukcji w celu wykonania nie jest możliwa. Na przykład przeciągnięcie strzałki z jednej metody do innej metody nie będzie działać. W tych nieobsługiwanych przypadkach Visual Studio dla komputerów Mac zostanie wyświetlone okno dialogowe z komunikatem, że nie można zmienić bieżącego wiersza wykonywania.

Debugowanie bibliotek klas mono

Produkty Xamarin są ładowane z kodem źródłowym bibliotek klas mono. Można go użyć do pojedynczego kroku debugera w celu sprawdzenia, jak wszystko działa pod maską.

Ponieważ ta funkcja zużywa więcej pamięci podczas debugowania, jest domyślnie wyłączona.

Aby włączyć tę funkcję, przejdź do Visual Studio dla komputerów Mac > Preferences > Debugger i upewnij się, że wybrano opcję "Przejdź do kodu zewnętrznego", jak pokazano poniżej:

Opcja Krok do kodu zewnętrznego

Zobacz też