Articles

Xcode Debugging with Breakpoints (pentru începători)

Erica Millado

Follow

Oct 8, 2016 – 4 min citește

În calitate de persoană care învață pe tot parcursul vieții, se înțelege că a face erori face parte din procesul de învățare. În programare, aceste lucruri enervante sunt cunoscute sub numele de 🐞’s (bug-uri). Faptul de a fi un depanator minuțios și eficient mă va face un programator mai bun și, în cele din urmă, îmi va permite să scriu un cod excelent pe termen lung.

M-am gândit că ar fi o idee bună să fac câteva cercetări despre depanarea la nivel de începător în cadrul Xcode și despre cum să mă familiarizez cu instrumentul de depanare Breakpoint și cu unele dintre capacitățile sale.

Deci, ce este un breakpoint?

Un breakpoint este un instrument de depanare care vă permite să întrerupeți execuția programului dumneavoastră până la un anumit moment.

De ce ar trebui să folosesc un breakpoint?

Crearea unor puncte de „pauză” în codul dvs. vă poate ajuta să vă investigați codul pentru a vedea unde apar erorile.

Cum creez puncte de întrerupere?

Ușor. Decideți unde doriți să întrerupeți execuția codului dvs. și faceți clic în jgheabul din stânga pentru a crea un punct de întrerupere albastru.

Să aruncăm o privire la fabulozitatea pe care o numim „Zona de depanare”.”

Butoane importante cu care trebuie să vă familiarizați: ACTIVATE BREAKPOINTS, CONTINUE/PAUSE, STEP OVER, STEP INTO și STEP OUT.

Ce se întâmplă în captura de ecran de mai sus?

Am creat o funcție findSumOfEvens() care însumează două numere întregi dacă AMBELE sunt pare. Am setat un punct de întrerupere pe linia 25, după ce mi-am apelat funcția findSumOfEvens(n1: 2, n2: 4) pe linia 24. Funcția a fost întreruptă LA linia 25, ceea ce înseamnă că al doilea apel al funcției findSumOfEvens(n1: 1, n2: 6) nu a fost apelat ÎNCĂ.

Am adnotat, de asemenea, câteva butoane / zone de depanare Xcode utile. Notă:

  • Continue / Pause = (prescurtarea de la tastatură este ⌃ + ⌘ + Y)

Și aceste butoane de control al execuției:

  • Step Over = (prescurtarea de la tastatură este F6)
  • Step Into = (prescurtarea de la tastatură este F7)
  • Step Out = (prescurtarea de la tastatură este F8)

Am rulat proiectul, iar consola a afișat „The sum of your even numbers is 6.”

În continuare, am făcut clic pe butonul „Step Over” pentru a executa următoarea linie de cod (linia 25) – care este locul unde am plasat punctul de întrerupere.

Deasupra, puteți vedea că „trecând peste” următoarea linie de cod chiar am EXECUTAT-O și acum consola mea a tipărit „Both of your numbers need to be even. Încercați din nou.”

Cum pot scăpa de un punct de întrerupere?

Clic dreapta pe punctul de întrerupere pentru a-l șterge:

Așteaptă, despre ce este vorba în mesajul (lldb) din consola ta?

LLDB înseamnă „low level debugger” (depanator de nivel scăzut), care oferă mediul de depanare de bază pentru dezvoltarea de aplicații pentru iOS. Acesta poate fi utilizat pentru a găsi și elimina problemele din codul Swift și Objective-C.

Cum sunt legate punctele de întrerupere și LLDB?

Puteți tasta comenzi rapide în LLDB pentru a vă ajuta să setați puncte de întrerupere la anumite linii de cod, să setați puncte de întrerupere în mai multe puncte din cod, să listați toate punctele de întrerupere și să dezactivați punctele de întrerupere.

„breakpoint set – selector viewDidLoad”

Mai sus, puteți vedea că puteți seta mai multe puncte de întrerupere prin introducerea unui „selector” (numele metodei) în LLDB. Acest lucru este util mai ales dacă aveți MULTE fișiere și nu doriți să faceți clic în toate pentru a seta puncte de întrerupere.

„breakpoint list”

Deasupra, puteți, de asemenea, să „listați” toate punctele de întrerupere din proiectul dumneavoastră.

Ieșirea în consolă de la „breakpoint list”

Descoperiți mai sus informațiile detaliate ale listei tipărite în consolă, care includ un „hit count”, care indică de câte ori am atins un anumit punct de întrerupere.

„breakpoint disable”

Deasupra, folosesc „disable” pentru a dezactiva toate punctele mele de întrerupere. Dacă aș fi vrut să dezactivez doar al 2-lea meu punct de întrerupere, aș fi introdus „breakpoint disable 2.”

„breakpoint set – – – file ViewController.swift – – – linia 16”

Mai sus, am setat un punct de întrerupere într-o anumită locație din codul meu: fișierul meu ViewController.swift la linia 16.

Pentru a recapitula, comenzile de breakpoint LLDB pe care le-am folosit au fost:

  • breakpoint set
  • breakpoint list
  • breakpoint disable

Dacă proiectul meu se blochează, nu ar trebui să fac clic pe stop și să închei execuția aplicației?

Din ceea ce am cercetat, OPRIND (◾) ️aplicația scapă de informațiile valoroase de depanare pe care Xcode încearcă să ni le ofere nouă (dezvoltatorului) pentru a ne ajuta să rezolvăm problema. Voi începe să folosesc punctele de întrerupere și butoanele de control al execuției pentru a parcurge mai bine codul meu pentru a vedea unde apar erorile.

Ambrățișează erorile ca pe o oportunitate pentru tine de a învăța.

Fie ca erorile să fie întotdeauna în favoarea ta.

.