ladění pomocí Visual Studio pro Mac

Visual Studio pro Mac obsahuje ladicí programy s podporou pro aplikace .net Core, .NET Framework, Unity a Xamarin.

Visual Studio pro Mac používá měkký ladicí program Mono, který je implementován do Mono runtime a umožňuje Visual Studio pro Mac ladit spravovaný kód napříč všemi platformami.

Ladicí program

pro ladění spravovaného kódu (C# nebo F #) ve všech aplikacích Xamarin používá Visual Studio pro Mac použití měkkého ladicího programu Mono. Měkké ladění mono se liší od běžných ladicích programů v tom, že se jedná o ladicí program pro spolupráci, který je integrován do Mono runtime; generovaný kód a Mono runtime spolupracovat s IDE pro poskytování prostředí ladění. Mono runtime zpřístupňuje funkce ladění prostřednictvím přenosového protokolu, který si můžete přečíst v dokumentaci k mono.

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

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

Použití ladicího programu

Chcete-li spustit ladění jakékoli aplikace, vždy zajistěte, aby byla konfigurace nastavena na ladění. Konfigurace ladění poskytuje užitečnou sadu nástrojů pro podporu ladění, jako je například zarážky, použití vizualizací dat a zobrazení zásobníku volání:

Konfigurace ladění

Nastavení zarážky

Chcete-li nastavit zarážku v integrovaném vývojovém prostředí (IDE), klikněte vedle čísla řádku kódu, který chcete přerušit, na oblast okraje editoru.

Nastavení zarážky v okraji

Kliknutím na okno zarážky můžete zobrazit všechny zarážky, které byly nastaveny v kódu.

Seznam zarážek

Spustit ladění

Chcete-li spustit ladění, vyberte cílový prohlížeč, zařízení nebo simulátor/emulátor:

Konfigurace ladění –  Výběr cílového zařízení

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

Zvýraznění ukazující, že bylo dosaženo zarážky

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

Ladění vizualizací

Podmíněné zarážky

Můžete také nastavit pravidla, která určují okolnosti, za kterých by měla být zarážka, což se říká přidání podmíněné zarážky. Chcete-li nastavit podmíněnou zarážku, přejděte k okno vlastnosti zarážky, kterou lze provést dvěma způsoby:

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

Místní nabídka zarážky

  • Chcete-li přidat podmínku do existující zarážky, klikněte pravým tlačítkem myši na zarážku a vyberte možnost vlastnosti zarážky, nebo v okně zarážky vyberte tlačítko Upravit zarážku, které je zobrazeno níže:

Upravit existující zarážku v okně zarážek

Pak můžete zadat podmínku, pod kterou chcete, aby se zarážka nastala:

Upravit podmínky zarážky

Krokování prostřednictvím kódu

Při dosažení zarážky vám ladicí nástroje umožní získat kontrolu nad prováděním programu. Visual Studio pro Mac zobrazí čtyři tlačítka, která vám umožní spustit a krokovat kód. v Visual Studio pro Mac budou vypadat takto:

Tlačítka pro krokování kódu

Tady jsou čtyři tlačítka:

  • Přehrát – spustí se kód až do další zarážky.
  • Krok za krokem – provede další řádek kódu. Pokud je další řádek volání funkce, krok za krokem spustí funkci a zastaví se na dalším řádku kódu za funkcí.
  • Krokovat s vnořením se také spustí další řádek kódu. Pokud je další řádek volání funkce, krok dovnitř se zastaví na prvním řádku funkce, což vám umožní pokračovat v řádkovém ladění funkce. Pokud další řádek není funkce, bude se chovat stejně jako krok za krokem.
  • Krok ven – vrátí se na řádek, kde byla zavolána aktuální funkce.

Změna příkazu, který je proveden jako další

Když ladicí program pozastavíte, šipka na okraji ukazuje, který řádek kódu se spustí jako další. Pokud chcete spouštěný příkaz změnit, přetáhněte šipku na jiný řádek. Stejnou věc můžete dosáhnout také tak, že kliknete pravým tlačítkem na řádek kódu a vyberete nastavit další příkaz z kontextové nabídky.

Šipkou a přetažením nastavíte další příkaz.

Upozornění

Změna aktuálního řádku provádění může způsobit neočekávané chování v aplikaci. Existují také některé podmínky, kdy změna dalšího příkazu ke spuštění není možná. Například přetažení šipky z jedné metody na jinou metodu nebude fungovat. v těchto nepodporovaných případech Visual Studio pro Mac zobrazí dialogové okno, ve kterém zjistíte, že není možné změnit aktuální řádek provádění.

Ladění knihoven tříd mono

Produkty Xamarin dodávané se zdrojovým kódem pro knihovny tříd mono a můžete je použít pro jeden krok ladicího programu ke kontrole, jak fungují v digestoři.

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

pokud chcete tuto funkci povolit, přejděte na Visual Studio pro Mac > předvolby > ladicí program a ujistěte se, že je vybraná možnost "krok do externího kódu", jak je znázorněno níže:

Krokovat s vnořením do externího kódu – možnost

Viz také