Articles

Ladění Xcode s body přerušení (pro začátečníky)

Erica Millado

Sledovat

8. října, 2016 – 4 minuty čtení

Jako celoživotní student chápu, že chybování je součástí procesu učení. V programování se těmto otravným věcem říká 🐞 (chyby). To, že budu důkladně a efektivně ladit, ze mě udělá lepšího programátora a nakonec mi umožní dlouhodobě psát vynikající kód.

Řekl jsem si, že by bylo dobré udělat si průzkum o ladění na začátečnické úrovni v Xcode a o tom, jak se seznámit s ladicím nástrojem Breakpoint a některými jeho možnostmi.

Takže, co je to breakpoint?

Bod přerušení je ladicí nástroj, který umožňuje pozastavit provádění programu do určitého okamžiku.

Proč bych měl používat bod přerušení?

Vytvoření bodů „pauzy“ v kódu vám může pomoci prozkoumat kód a zjistit, kde se vyskytují chyby.

Jak vytvořím body přerušení?

Snadno. Rozhodněte se, kde chcete pozastavit provádění kódu, a kliknutím do levého žlábku vytvořte modrý bod přerušení.

Podívejme se na báječnost, kterou nazýváme „Oblast ladění“.“

Důležitá tlačítka, se kterými je třeba se seznámit:

Co se děje na obrázku výše?

Vytvořil jsem funkci findSumOfEvens(), která sečte dvě celá čísla, pokud jsou OBĚ sudá. Na řádku 25 jsem nastavil bod přerušení poté, co jsem na řádku 24 zavolal svou funkci findSumOfEvens(n1: 2, n2: 4). Funkce byla pozastavena NA řádku 25, což znamená, že druhé volání funkce findSumOfEvens(n1: 1, n2: 6) ještě nebylo zavoláno.

Poznamenal jsem také několik užitečných ladicích tlačítek/oblastí Xcode. Poznámka:

  • Continue / Pause = (klávesová zkratka je ⌃ + ⌘ + Y)

A tato tlačítka pro kontrolu provádění:

  • Pokračovat = (klávesová zkratka je F6)
  • Pokračovat do = (klávesová zkratka je F7)
  • Pokračovat ven = (klávesová zkratka je F8)

Spustil jsem projekt a konzola vypsala „Součet vašich sudých čísel je 6.“

Dále jsem kliknul na tlačítko „Step Over“, aby se provedl další řádek kódu (řádek 25) – tedy místo, kam jsem umístil bod přerušení.

Nahoře vidíte, že jsem „přešlápnutí“ dalšího řádku kódu skutečně provedl a nyní mi konzola vypsala „Obě vaše čísla musí být sudá. Zkuste to znovu.“

Jak se zbavím bodu přerušení?

Kliknutím pravým tlačítkem myši na bod přerušení odstraníte:

Počkejte, o čem je ta zpráva (lldb) v konzoli?

LLDB je zkratka pro „low level debugger“, který poskytuje základní ladicí prostředí pro vývoj aplikací pro iOS. Lze jej použít k nalezení a odstranění problémů v kódu Swift a Objective-C.

Jak spolu souvisí body přerušení a LLDB?

Do LLDB můžete zadat příkazy zkratek, které vám pomohou nastavit body přerušení na určitých řádcích kódu, nastavit body přerušení na mnoha místech kódu, vypsat všechny body přerušení a zakázat body přerušení.

„breakpoint set – selector viewDidLoad“

Výše vidíte, že zadáním „selektoru“ (názvu metody) v LLDB můžete nastavit více breakpointů. To je obzvláště užitečné, pokud máte MNOHO souborů a nechcete klikat ve všech, abyste nastavili body přerušení.

„seznam bodů přerušení“

Nahoře můžete také „vypsat“ všechny body přerušení v projektu.

Výstup konzoly ze „seznamu bodů přerušení“

Nahoře vidíte podrobné informace o seznamu vypsané do konzoly, které zahrnují „počet zásahů“, který udává, kolikrát jsme dosáhli určitého bodu přerušení.

„breakpoint disable“

Nahoře pomocí „disable“ zakážu všechny body přerušení. Kdybych chtěl zakázat pouze svůj 2. bod přerušení, zadal bych „breakpoint disable 2.“

„breakpoint set – – file ViewController.swift – – řádek 16“

Nahoře jsem nastavil bod přerušení na konkrétním místě v mém kódu: můj soubor ViewController.swift na řádku 16. Na tomto místě jsem nastavil bod přerušení.

Pro rekapitulaci, příkazy LLDB breakpointu, které jsem použil, byly:

  • breakpoint set
  • breakpoint list
  • breakpoint disable

Pokud můj projekt spadne, neměl bych prostě kliknout na stop a ukončit provádění aplikace?

Podle toho, co jsem zjišťoval, se ZASTAVENÍM (◾) ️aplikace zbavíme cenných ladicích informací, které se nám (vývojářům) snaží Xcode poskytnout, aby nám pomohl problém vyřešit. Začnu používat body přerušení a tlačítka pro kontrolu provádění, abych lépe procházel svůj kód a zjistil, kde se vyskytují chyby.

Přijměte chyby jako příležitost k učení.

Ať jsou chyby vždy ve váš prospěch.

.