Ladění pomocí sady Visual Studio pro Mac

Důležité

Visual Studio pro Mac je naplánované na vyřazení ze 31. srpna 2024 v souladu s moderními zásadami životního cyklu Společnosti Microsoft. I když můžete dál pracovat se sadou Visual Studio pro Mac, existuje několik dalších možností pro vývojáře na Macu, jako je verze Preview nového rozšíření C# Dev Kit pro VS Code.

Přečtěte si další informace o časových osách podpory a alternativách.

Visual Studio pro Mac má ladicí programy s podporou aplikací .NET Core, .NET Framework, Unity a Xamarin.

Visual Studio pro Mac používá mono soft debugger, který je implementovaný do modulu runtime Mono, což sadě Visual Studio pro Mac umožňuje ladit spravovaný kód napříč všemi platformami.

Ladicí program

Visual Studio pro Mac používá mono soft debugger k ladění spravovaného kódu (C# nebo F#) ve všech aplikacích Xamarinu. Ladicí program Mono Soft se liší od běžných ladicích programů v tom, že se jedná o kooperační ladicí program, který je integrovaný do modulu runtime Mono; vygenerovaný kód a modul runtime Mono spolupracují s integrovaným vývojovém prostředím (IDE) a poskytují prostředí ladění. Modul runtime Mono zveřejňuje funkce ladění prostřednictvím přenosového protokolu, o kterém si můžete přečíst další informace v dokumentaci k Mono.

Pevné ladicí programy, jako je LLDB nebo GDB, řídí program bez znalosti nebo spolupráce z laděného programu. Pokud potřebujete ladit nativní kód pro iOS nebo Android, může být stále užitečný při ladění aplikací Xamarin.

Pro aplikace .NET Core a ASP.NET Core používá Visual Studio pro Mac ladicí program .NET Core. Tento ladicí program je také ladicí program pro spolupráci a funguje s modulem runtime .NET.

Použití ladicího programu

Pokud chcete spustit ladění jakékoli aplikace, vždy se ujistěte, že je konfigurace nastavená na Ladění. Konfigurace ladění poskytuje užitečnou sadu nástrojů pro podporu ladění, jako jsou zarážky, použití vizualizérů dat a zobrazení zásobníku volání:

Debug configuration

Nastavení zarážky

Pokud chcete v integrovaném vývojovém prostředí nastavit zarážku, klikněte na oblast okrajů editoru vedle čísla řádku kódu, kde chcete přerušit:

Setting breakpoint in margin

Všechny zarážky nastavené v kódu můžete zobrazit tak, že přejdete do okna Zarážky:

List of breakpoints

Spuštění ladění

Pokud chcete spustit ladění, vyberte cílový prohlížeč, zařízení nebo simulátor nebo emulátor:

Debug configurationSelect target device

Pak aplikaci nasaďte stisknutím tlačítka Přehrát nebo Cmd + return. Když se dostanete na zarážku, kód se zvýrazní žlutě:

Highlight showing breakpoint has been hit

Nástroje pro ladění, například nástroje používané ke kontrole hodnot objektů, lze v tomto okamžiku použít k získání dalších informací o tom, co se děje ve vašem kódu:

Debug visualizations

Podmíněné zarážky

Můžete také nastavit pravidla, která diktují okolnosti, za kterých se má zarážka objevit. To se označuje jako přidání podmíněné zarážky. Pokud chcete nastavit podmíněnou zarážku, přejděte do okna Vlastnosti zarážky, které lze provést dvěma způsoby:

  • Pokud chcete přidat novou podmíněnou zarážku, klikněte pravým tlačítkem myši na okraj editoru, vlevo od čísla řádku pro kód, na který chcete nastavit zarážku, a vyberte Nový zarážku:

Breakpoint context menu

  • Pokud chcete přidat podmínku do existující zarážky, klikněte pravým tlačítkem myši na zarážku a vyberte Vlastnosti zarážky nebo v okně Zarážky vyberte tlačítko Upravit zarážku znázorněné níže:

Edit existing Breakpoint in Breakpoints Window

Pak můžete zadat podmínku, pod kterou má zarážka nastat:

Edit Breakpoint conditions

Krokování kódu

Po dosažení zarážky vám nástroje ladění umožňují získat kontrolu nad prováděním programu. Visual Studio pro Mac zobrazí čtyři tlačítka, která vám umožní spouštět kód a procházet ho. V sadě Visual Studio pro Mac budou vypadat takto:

Buttons to step through code

Tady jsou čtyři tlačítka:

  • Přehrát – Tím začnete kód spouštět až do další zarážky.
  • Krok za krokem – Tím se spustí další řádek kódu. Pokud je dalším řádkem volání funkce, provede funkce Step Over a zastaví se na dalším řádku kódu za funkcí.
  • Krok do – Tím se také spustí další řádek kódu. Pokud je dalším řádkem volání funkce, krok Do se zastaví na prvním řádku funkce, což vám umožní pokračovat v ladění funkce po řádcích. Pokud další řádek není funkce, bude se chovat stejně jako krok přes.
  • Krok ven – Tím se vrátíte na řádek, kde byla volána aktuální funkce.

Change which statement is executed next

Když ladicí program pozastavíte, šipka na okraji ukazuje, který řádek kódu se spustí jako další. Šipku můžete vybrat a přetáhnout na jiný řádek kódu, abyste změnili, který příkaz se spustí. Totéž můžete dosáhnout také tak, že kliknete pravým tlačítkem myši na řádek kódu a vyberete Příkaz Nastavit další z místní nabídky.

Drag and drop arrow to set next statement

Upozornění

Změna aktuálního řádku provádění může způsobit neočekávané chování v aplikaci. Existují také určité podmínky, kdy změna dalšího příkazu na provedení není možná. Například přetažením šipky z jedné metody do jiné metody nebude fungovat. V těchto nepodporovaných případech se v sadě Visual Studio pro Mac zobrazí dialogové okno s oznámením, že nebylo možné změnit aktuální řádek provádění.

Ladění knihoven tříd Mono

Produkty Xamarin se dodávají se zdrojovým kódem knihoven tříd Mono a můžete ho použít k jednomu kroku z ladicího programu a zkontrolovat, jak věci fungují pod kapucí.

Vzhledem k tomu, že tato funkce spotřebovává více paměti během ladění, je ve výchozím nastavení vypnutá.

Pokud chcete tuto funkci povolit, přejděte do ladicího programu předvoleb > sady Visual Studio pro Mac > a ujistěte se, že je vybraná možnost Krok do externího kódu, jak je znázorněno níže:

Step into external code option

Viz také