Debugowanie za pomocą programu Visual Studio dla komputerów Mac

Ważne

Program Visual Studio dla komputerów Mac ma zostać wycofany 31 sierpnia 2024 r. zgodnie z zasadami nowoczesnego cyklu życia firmy Microsoft. Mimo że możesz nadal pracować z programem Visual Studio dla komputerów Mac, istnieje kilka innych opcji dla deweloperów na komputerze Mac, takich jak wersja zapoznawcza nowego rozszerzenia zestawu deweloperskiego języka C# dla programu VS Code.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

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

Program Visual Studio dla komputerów Mac używa debugera Mono Soft Debugger, który jest implementowany w środowisku uruchomieniowym Mono, umożliwiając programowi Visual Studio dla komputerów Mac debugowanie kodu zarządzanego na wszystkich platformach.

Debuger

Program Visual Studio dla komputerów Mac używa debugera Mono Soft Debugger do debugowania kodu zarządzanego (C# lub F#) we wszystkich aplikacjach platformy Xamarin. Debuger Mono Soft różni się od zwykłych debugerów, ponieważ jest to kooperacyjny debuger wbudowany w środowisko uruchomieniowe Mono; wygenerowany kod i środowisko uruchomieniowe Mono współpracują ze środowiskiem IDE w celu zapewnienia środowiska debugowania. Środowisko uruchomieniowe Mono uwidacznia funkcje debugowania za pośrednictwem protokołu przewodowego, o którym można przeczytać więcej w dokumentacji mono.

Twarde debugery, takie jak LLDB lub GDB, kontrolują program bez wiedzy lub współpracy z debugowanego programu. Nadal może być przydatne podczas debugowania aplikacji platformy Xamarin, jeśli musisz debugować natywny kod systemu iOS lub Android.

W przypadku aplikacji .NET Core i ASP.NET Core program Visual Studio dla komputerów Mac używa debugera platformy .NET Core. Ten debuger jest również debugerem współpracy i współpracuje ze środowiskiem uruchomieniowym platformy .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, używanie wizualizatorów danych i wyświetlanie stosu wywołań:

Debug configuration

Ustawianie punktu przerwania

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

Setting breakpoint in margin

Możesz wyświetlić wszystkie punkty przerwania ustawione w kodzie, przechodząc do okna Punktów przerwania:

List of breakpoints

Rozpocznij debugowanie

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

Debug configurationSelect target device

Następnie wdróż aplikację , naciskając przycisk Odtwórz lub Cmd + return. Po osiągnięciu punktu przerwania kod zostanie wyróżniony żółtym:

Highlight showing breakpoint has been hit

Narzędzia debugowania, takie jak używane do sprawdzania wartości obiektów, mogą być używane w tym momencie, aby uzyskać więcej informacji na temat tego, co dzieje się w kodzie:

Debug visualizations

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 okna Właściwości punktu przerwania, które można wykonać na dwa sposoby:

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

Breakpoint context menu

  • 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 pokazany poniżej:

Edit existing Breakpoint in Breakpoints Window

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

Edit Breakpoint conditions

Przechodzenie przez kod

Po osiągnięciu punktu przerwania narzędzia debugowania umożliwiają uzyskanie kontroli nad wykonywaniem programu. Program Visual Studio dla komputerów Mac wyświetli cztery przyciski, co umożliwia uruchamianie i przechodzenie przez kod. W programie Visual Studio dla komputerów Mac będą wyglądać następująco:

Buttons to step through code

Oto cztery przyciski:

  • Odtwórz — rozpocznie się wykonywanie 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 zostanie zatrzymana w pierwszym wierszu funkcji, co umożliwi kontynuowanie debugowania wiersza po wierszu funkcji. Jeśli następny wiersz nie jest funkcją, będzie zachowywać się tak samo jak krok w kroku.
  • Step Out — spowoduje to powrót do wiersza, w którym została wywołana bieżąca funkcja.

Zmień kolejną instrukcję, która jest wykonywana

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

Drag and drop arrow to set next statement

Uwaga

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

Debugowanie bibliotek klas Mono

Produkty platformy Xamarin są dostarczane z kodem źródłowym bibliotek klas Mono i można go użyć do pojedynczego kroku z debugera, aby sprawdzić, jak działają elementy pod maską.

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

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

Step into external code option

Zobacz też