Sdílet prostřednictvím


Ladění více procesů

Je velmi běžné, že moderní řešení vyvinutá v Visual Studio pro Mac mají více projektů, které cílí na různé platformy. Například řešení může mít projekt mobilní aplikace, který spoléhá na data poskytovaná projektem webové služby. Při vývoji tohoto řešení může vývojář potřebovat mít oba projekty spuštěné souběžně, aby se vyřešovaly chyby. Počínaje verzí Xamarinu Cycle 9 je nyní možné Visual Studio pro Mac ladit více procesů, které běží současně. To umožňuje nastavit zarážky, zkontrolovat proměnné a zobrazit vlákna ve více než jednom spuštěném projektu. To se označuje jako ladění více procesů.

Tato příručka probere některé změny provedené v Visual Studio pro Mac, které podporují ladění více procesů, postup konfigurace řešení pro ladění více procesů a připojení k existujícím procesům pomocí Visual Studio pro Mac.

Požadavky

Ladění více procesů vyžaduje Visual Studio pro Mac.

Změny integrovaného vývojového prostředí (IDE

Abychom vývojářům pomohli s laděním s více procesy, Visual Studio pro Mac prošel některými změnami uživatelského rozhraní. Visual Studio pro Mac má aktualizovanou aktualizaci Panel nástrojů ladění a nový oddíl Konfigurace řešení ve složce Možnosti řešení Kromě toho panel vláken nyní zobrazí spuštěné procesy a vlákna pro každý proces. Visual Studio pro Mac také zobrazí několik ladicích panelů, jeden pro každý proces, pro určité věci, jako je Výstup aplikace

Konfigurace řešení

Ve výchozím nastavení Visual Studio pro Mac zobrazí jednotlivé projekty v oblasti Konfigurace řešení na panelu nástrojů ladění. Při zahájení ladicí relace se jedná o projekt, který Visual Studio pro Mac spustí a připojí ladicí program.

Pokud chcete spustit a ladit více procesů v Visual Studio pro Mac, je nutné vytvořit konfiguraci řešení. Konfigurace řešení popisuje, které projekty v řešení by měly být zahrnuty, když je spuštěna relace ladění kliknutím na tlačítko Start nebo když je stisknuta klávesa ⌘ ↩ (Cmd-Enter). Následující snímek obrazovky je příkladem řešení v Visual Studio pro Mac, které má několik konfigurací řešení:

A solution with multiple solution configurations

Části panelu nástrojů ladění

Panel nástrojů ladění se změnil tak, aby umožňoval výběr konfigurace řešení prostřednictvím místní nabídky. Tento snímek obrazovky ukazuje části panelu nástrojů Ladění:

The parts of the debug toolbar

  1. Konfigurace řešení – Konfiguraci řešení je možné nastavit kliknutím na konfiguraci řešení na panelu nástrojů ladění a výběrem konfigurace z místní nabídky:

    A sample popup with solution configurations

  2. Cíl sestavení – Identifikuje cíl sestavení pro projekty. To se nezměnilo v předchozích verzích Visual Studio pro Mac.

  3. Cíle zařízení – Tím se vyberou zařízení, na kterých bude řešení spuštěno. Pro každý projekt je možné identifikovat samostatné zařízení nebo emulátor.:

    Popup showing the devices for a project

Několik ladicích panelů

Po spuštění konfigurace více řešení se některé z Visual Studio pro Mac panelů zobrazí několikrát, jednou pro každý proces. Například následující snímek obrazovky ukazuje dva panely výstupu aplikace pro řešení, na kterém běží dva projekty:

Output Pad for a solution configuration

Více procesů a aktivní vlákno

Pokud dojde k zarážce v jednom procesu, tento proces pozastaví provádění, zatímco ostatní procesy budou pokračovat ve spuštění. V jednom scénáři procesu může Visual Studio pro Mac snadno zobrazit informace, jako jsou vlákna, místní proměnné, výstup aplikace v jedné sadě panelů. Pokud ale existuje více procesů s více zarážkou a potenciálně více vláken, může vývojáři zahltit, aby se vypořádat s informacemi z ladicí relace, která se snaží zobrazit všechny informace ze všech vláken (a procesů) najednou.

Chcete-li tento problém vyřešit, Visual Studio pro Mac zobrazí pouze informace z jednoho vlákna najednou, to se označuje jako aktivní vlákno. První vlákno, které se pozastaví na zarážce, se považuje za aktivní vlákno. Aktivní vlákno je vlákno, které je cílem pozornosti vývojáře. Příkazy pro ladění, například Krok přes ⇧⌘O (Shift-Cmd-O), budou vydány aktivnímu vláknu.

Panel vláken zobrazí informace o všech procesech a vláknech, které jsou pod kontrolou v konfiguraci řešení, a poskytne vizuální upozornění, co je aktivní vlákno:

Thread pad for a solution configuration

Vlákna jsou seskupené podle procesu, který je hostuje. Název a ID projektu aktivního vlákna se zobrazí tučným písmem a šipka směřující vpravo se zobrazí v hřbetu vedle aktivního vlákna. Na předchozím snímku obrazovky je aktivní vlákno č. 1 v procesu s ID 48703 (FirstProject).

Při ladění více procesů je možné přepnout aktivní vlákno a zobrazit ladicí informace pro tento proces (nebo vlákno) pomocí panelu vláken. Pokud chcete přepnout aktivní vlákno, vyberte požadované vlákno v Oblasti vláken a poklikejte na něj.

Krokování kódu při zastavení více projektů

Pokud dva (nebo více) projektů mají zarážky, Visual Studio pro Mac pozastaví oba procesy. V aktivním vlákně je možné krokovat pouze kód. Druhý proces bude pozastaven, dokud změna oboru neumožňuje ladicímu programu přepnout fokus z aktivního vlákna. Představte si například následující snímek obrazovky Visual Studio pro Mac ladění dvou projektů:

Visual Studio for Mac debugging two projects

Na tomto snímku obrazovky má každé řešení vlastní zarážku. Při spuštění ladění je první zarážka, která se má nacházet na řádku 10 MainClass druhého projektu. Vzhledem k tomu, že oba projekty mají zarážky, každý proces se zastaví. Jakmile dojde k zarážce, každé vyvolání kroku kroku způsobí, Visual Studio pro Mac krokovat kód v aktivním vlákně.

Krokování kódu je omezeno na aktivní vlákno, takže Visual Studio pro Mac postupně prochází řádek kódu najednou, zatímco druhý proces je stále pozastavený.

Použití předchozího snímku obrazovky jako příkladu, když smyčka for skončí, Visual Studio pro Mac by umožnilo spuštění FirstProject, dokud nedojde k zarážce na řádku 11.MainClass Pro každý příkaz Krok přes by ladicí program přešel řádek po řádku v FirstProject, dokud interní heuristické algoritmy Visual Studio pro Mac přepnout aktivní vlákno zpět na SecondProject.

Pokud by pro jeden z projektů byla nastavena zarážka, pozastaví se pouze tento proces. Druhý projekt bude dál běžet, dokud se vývojář nepřestaví nebo se přidá zarážka.

Pozastavení a obnovení procesů

Proces můžete pozastavit nebo obnovit tak, že kliknete pravým tlačítkem myši na proces a v místní nabídce vyberete Pozastavit nebo Pokračovat :

Pause or resume in the Thread pad

Vzhled panelu nástrojů ladění se změní v závislosti na stavu laděných projektů. Když je spuštěno více projektů, panel nástrojů ladění zobrazí tlačítko Pozastavit a Pokračovat , kde je spuštěn alespoň jeden projekt a jeden projekt je pozastaven:

Debug toolbar

Kliknutím na tlačítko Pozastavit na panelu nástrojů Ladění pozastavíte všechny procesy, které jsou laděné, a kliknutím na tlačítka Pokračovat obnovíte všechny pozastavené procesy.

Ladění druhého projektu

Po spuštění prvního projektu Visual Studio pro Mac je také možné ladit druhý projekt. Jakmile se spustí první projekt, *Klikněte pravým tlačítkem myši na projekt v oblasti řešení a vyberte Spustit položku ladění:

Start Debugging Item

Vytvoření konfigurace řešení

Konfigurace řešení informuje Visual Studio pro Mac, jaký projekt se má spustit, když se spustí ladicí relace pomocí tlačítka Start. Pro každé řešení může existovat více než jedna konfigurace řešení. To umožňuje určit, které projekty se spouštějí při ladění projektu.

Vytvoření nové konfigurace řešení v nástroji Xamaring Studio:

  1. Otevřete dialogové okno Možnosti řešení v Visual Studio pro Mac a vyberte Spustit > konfigurace:

    Solution Configuration in the Solution Options dialog

  2. Klikněte na tlačítko Nový a zadejte název nové konfigurace řešení a klikněte na Vytvořit. Nová konfigurace řešení se zobrazí v okně Konfigurace :

    Naming a new solution configuration

  3. V seznamu konfigurací vyberte novou konfiguraci spuštění. V dialogovém okně Možnosti řešení se zobrazí každý projekt v řešení. Odškrtněte všechny projekty, které by se měly spustit při zahájení ladicí relace:

    Selecting the project to start

Konfigurace řešení MultipleProjects se teď zobrazí na panelu nástrojů Ladění, takže vývojář může současně ladit dva projekty.

Shrnutí

Tato příručka popisuje ladění více procesů v Visual Studio pro Mac. Některé změny integrovaného vývojového prostředí (IDE) zahrnovaly podporu ladění s více procesy a popsaly některé související chování.