[? DAN ARMADARAS :?] Ahoj, Som [? Dan Armadaras?]. Dnes sa budeme byť pri pohľade na ladenie. Nielen, že budeme hovoriť o niektorých technikách, ale tiež budeme pozerať na niektoré funkcie obsiahnuté v rámci CS50 IDE, ktoré umožňujú ľahko ladiť program. Len jeden príklad niečo, čo sa môže pokaziť a je to vlastne niečo že sme už videli skôr. V tomto prípade sa jedná o program, C ktorý prijíma celé číslo od užívateľa, rozdelí ju dva, a poskytuje výstup späť užívateľovi. Teraz z toho, čo sme videli, predtým v prednáškach, vieme, že to bude skutočne spôsobiť špecifické typy problémov divízie keď máme nepárne čísla. Konkrétne, budeme jednoducho vyhodiť za desatinnou čiarkou čokoľvek. Teraz vieme, že to sa stane byť prípad. A ak by sme ho spustiť, môžeme potvrdiť, naše podozrenie, prvý, kompilácií. A potom, spustením a zadávanie nepárny počet. To nie je nič nové. Ale to je vlastne Príkladom chybu, ktorá môžu existovať v rámci väčšieho programu že sa stáva ťažšie vystopovať. Aj keď vieme, čo je problém Je pravda, jadro veci by sa mohli pokúsiť identifikovať najmä ak dôjde k chybe, určenie toho, čo tento problém je, a potom ju opraviť. Takže Poskytujeme túto ako príklad z toho, čo by mohlo byť niečo že už vieme, ale môžu byť pochovaný v rámci iných prvkov kódu. Takže otvorením tohto ďalšieho zdroja kód súbor ako príklad, Toto rozdelenie problém je teraz súčasťou širšieho programu. Napriek tomu by mohlo byť trochu bit neprirodzený, a my by mohol byť schopný ľahko identifikovať, najmä od tej doby sme len diskutovať o tomto. Ale môžeme prísť na to, že tento Problém môže existovať vo väčšom meradle. Ak by som to kompilácie a teraz spustite ho, zadajte nepárne číslo, môžeme vidieť, že nebudeme mať presne výstup, že môžeme očakávať. V tomto konkrétnom prípade, môžeme povedať, že sme chcete spočítať všetky čísla od jedného do určitej konkrétne číslo. A my môžeme vidieť, že sme majú rad problémov tu, ak budeme výstup, jednoducho, 0 a 1, keď sme poskytujú vstup 5. Takže už vieme, že tam je tu problém. Ale my sa nemusí presne vedieť, kde tento problém skutočne existuje. Teraz jeden zo spôsobov, sa môžeme pokúsiť opraviť je niečo, čo máme už bol predstavený. Môžeme stačí použiť vo väčšom meradle. Na riadku 14, máme táto funkcia printf, čo nám umožňuje vytlačiť štátu z rôznych informácií. A to je niečo, čo vás by mal využiť v rámci svojho programu aby sa pokúsili zistiť, čo presne je sa deje v rôznych riadkov kódu. Takže aj keď to nie je Konečný výstup, že sme vlastne chcú vyrábať z tento program, stále môže mať nejaké ladenie Vyhlásenie kde sme môže pokúsiť sa zistiť, čo presne sa deje vo vnútri nášho kódu. Takže v tomto prípade, budem printf so značkou ladenie. V tomto prípade sa jedná len ladenie reťazec že som až nepríjemné, takže sa stane veľmi jasne vo výstupe môjho kódu čo to je, že chcem ukázať. A výstup tu číslo ktoré sme vypočítali. V tomto prípade, ja by som mohol chcú presne vedieť, , Čo sa deje pred a Po nejakej konkrétnej výpočty. Takže som mohol pred použiť printf a po tomto riadku kódu. V tomto prípade by mohla dokonca som aby to trochu viac jasné, tým, že hovorí ladenie pred a ladenie po tak že nemám pliesť sám s viac riadkov, ktoré vyzerajú totožné. Teraz, keď sme to překompilovat a beh to, zadajte číslo ako päť znovu, môžeme vidieť, že máme Teraz výstup pred a po a zistíte, že sme neurobili jasné rozdelenia alebo jasné majú čísla že sme vlastne chcete robiť. Teraz v tomto prípade sa jedná v skutočnosti nie je jasný výstup. Nie je to naozaj jasné, že výsledok chceme z tohto konkrétneho programu. A to je, opäť, je trochu neprirodzený. Ale možno, jednou z vecí, ktoré by sme mohli urobiť v prípade, že špecifikácia povedal, že chceme rozdeliť tým, 2 a pridá sa 1-- tak, inými slovami, chceme zaokrúhliť up-- potom aby sme vedeli, že sme mohli robiť, že konkrétnu vec, v tomto prípade. Teraz vieme, že budeme možné pridať 1 do nášho zníži na polovicu počtu. Poďme to překompilovat a potvrdzujú, že táto sa správa tak, že chceme. Môžeme vidieť, že teraz pred s, máme číslo 5. Potom, čo, máme číslo 3, ktorá je podľa nášho špecifikácie, je to, čo sme chceli urobiť. Ale keď sa pozrieme na Výstup tu, môžeme vidieť, že by sme mohli mať ďalšie bug celkom, čo je že začíname našu počítať od 0. Teraz sa znova, to je niečo, že sme videli v minulosti a môžeme opraviť pomerne ľahko. Ale v tomto prípade sme tiež mal výhodu použitie príkazu printf priamo vo vnútri slučky for presne vedieť, kde sa deje, že chyba. Takže printf vyhlásenia sú veľmi užitočné pri pomoci určiť, kde, Presne v zdrojovom kóde, špecifická chyba nastane. A to je tiež dôležité si uvedomiť, že, ako sme písanie kódu, by sme mohli mať predpoklady o stave programu. Alebo by sme mohli mať predpoklady o tom, čo časť programu je vlastne správne, alebo nesprávne, pri neskôr, keď sme stavať na tomto programe a urobiť z neho súčasť komplexný a väčšie program, že by sme si uvedomiť, že niektoré aspekty z toho nie je v skutočnosti buggy. Použitie printf môže naozaj pomôcť zúžiť a identifikovať regióny programu, ktorý nemusí chová presne tak, že sme očakávať, že, na základe našich predpokladov. Ale je tu ďalší nástroje k dispozícii, rovnako, že nám umožní pokúsiť sa zistiť , Kde sa chyba vyskytuje A tiež, konkrétne, aké veci sa deje vo vnútri programu. Takže pomocou printf je veľmi užitočné, ak chceme, určiť konkrétne oblasti program, ktorý má nejakú chybu. Ale je to tiež stáva únavné po chvíli. V tomto prípade sa jedná o relatívne jednoduchý program len s jedným alebo dvoma premennými. A to sa stáva pre nás veľmi ľahké vytlačiť hodnotu týchto premenných v rámci väčšieho programu. Ale aby sme mohli mať iný program, ktorý má mnoho premenných. A to nemusí byť úplne tak ľahké printf pokúsiť sa vyhodnotiť, čo sa deje každému z týchto premenných Keďže je program implementácie. Tam je program, ktorý existuje volal debugger programu. V tomto prípade je ten, ktorý budeme Použitie je GNU debugger, alebo GDB, že nám umožňuje kontrolovať interné objavovali programu v oveľa detailné cesta. Môžeme skutočne vykonávať GDB z príkazového riadku tu jednoducho napísaním GDB a príkaz, ktorý chceme ladiť. V tomto prípade počítať. Teraz v tomto prípade môžeme vidieť, že to nás privádza do riadku, ktorý hovorí, že GDB. A môžeme skutočne vykonávanie príkazov na GDB skutočne začať vykonávanie z Program, zastavte ho v určitých bodoch, vyhodnotiť premenné a skontrolujte premenné, ktoré existujú v stave programu v danú chvíľu a tak ďalej a tak ďalej. Poskytuje veľa sily k nám. Ale to len tak sa stane že CS50 IDE tiež poskytuje GUI alebo užívateľa rozhranie pre GDB, že umožňuje nám to urobiť, bez toho aby ste museli príkazového riadku rozhranie vôbec alebo dokonca vôbec. Tak, že môžem získať prístup, že je pomocou tlačidla ladenie na samom vrchole CS50 IDE. Teraz v minulosti, čo máme vidieť, je to, že pomocou príkazu linka kompilácie a spustiť program. Tlačidlo ladenia robí oboch týchto krokov. Ale tiež to prinesie až Karta debugger na extrémnej pravici ktorý nám umožňuje prezrieť celý rad vlastností programu ako je vykonávanie. Ak mám na tlačidlo Debug, v tomto prípad, bude vychovávať nová karta v konzole Okno na samom dne. A môžete vidieť, že táto karta má niektoré informácie na samom vrchole. A môžeme do značnej miery ignorovať. Ale jedna z vecí, že chceme všimnúť je to, že výstupy to isté, čo sme by sa dostať, ak sme sa snažili spustiť, aby na C program v terminálovom okne. Tu môžeme vidieť, že to beží rinčanie, a má celý rad príznakov, a to je kompilácia našu count.c súbor, ktorá bola vybraná karta v čase že som narazila ladenie. Tak to je veľmi užitočná, pretože teraz pomocou tohto tlačidla ladenie, môžeme súčasne kompilácie a spustiť program, ktorý sme vlastne chcete spustiť. Jedným z príznakov, ktoré je dôležité, v tomto prípade, sme skutočne používali najdlhšiu dobu ale tiež len robil nejaký ruku mávanie [nepočuteľný], ktorý je toto tu. V zazvonením, hovorí -ggdb3. V tomto prípade to, čo sme rozprávanie zazvonením, náš prekladač, je to, že chceme zostaviť náš program. Ale tiež aké sú označované ako informácie o symbol takže kompilátor má skutočne prístup na mnohých podkladových informácií obsiahnuté v rámci programu. Presnejšie povedané, je počet funkcií, ktoré mám, mená týchto funkcií, premenné, typy že tieto premenné sú, a rôzne z ďalších vecí, ktoré pomáhajú debugger vykonávať svoju činnosť. Teraz je tu ešte niečo to je dôležité spomenúť, keď hovoríme o chod program týmto spôsobom. Všimnite si, že to má vlastne vychoval novú kartu v našej konzole po dne. Máme už nemusí komunikovať priamo s okno terminálu. Ale táto nová karta je v skutočnosti okno terminálu. Proste je špecifická pre chod Program, ktorý sme vytvorili. Všimnite si, že v spodnej časti, v v kombinácii s nejakým výstupom tým, zvoniť kompilátor a GDB, ktoré môžeme do značnej miery ignorovať, v skutočnosti ukazuje výstup náš program na samom dne. Teraz je dôležité si uvedomiť, že toto jedno okno vlastne vám ukáže Výstup z programu ale tiež môže prijímať vstup pre daný program, rovnako. Takže oznámenia, ktorá hovorí, Prosím, zadajte číslo, ktorý je rovnaký výstup, ktorý sme mali mal v terminálovom okne predtým. Ale už je to uvedené v tejto novej karte. Aj môžete zadať číslo. A to bude skutočne fungujú ako očakávame nám ukazuje náš ladenie, výstup, výstup, ktorý by mohol byť buggy, ako sme videli skôr. A na samom dne, ho v skutočnosti má nejaký prídavný výstup z HDP, len hovorím, že tento program ukončený. Teraz, ako ste videli v tejto najmä beh cez, by bolo veľmi málo užitočné, pretože aj keď sme mali prísť menu debugger up, to bolo ešte bežiaci program. V žiadnom momente urobil to vlastne pozastaviť výkon pre nás aby bolo možné kontrolovať všetky premenné obsiahnuté. Je tu niečo iné že musíme urobiť, aby dostať GDB si uvedomiť, že chceme, pozastaviť realizáciu programu a nie len aby mohol pokračovať v konaní obvykle ako by sme vo všetkých ostatných prípadoch. Za účelom pozastavenie plnenia, v nejakej konkrétnej linke, musíme vytvoriť to, čo je volal bodu zlomu. A zlom je veľmi ľahko vytvorená v tomto CS50 IDE tým, že myši a kliknutím na tlačidlo priamo vľavo nejaké konkrétne číslo riadka. Raz som to urobil, červená bodka Zobrazí sa, čo znamená, že linka je teraz bodu zlomu. A nabudúce, ktorý som bežať GDB to, sa zastavíte v tomto bode zlomu akonáhle dosiahne tento riadok kódu. Teraz je tento dôležitý si uvedomiť že to nie je nevyhnutne prípad, že každý riadok kódu je v skutočnosti k dispozícii. Ak by som mal vytvoriť funkciu tu, pre example-- void F-- a jednoducho tlačovú linku here-- ahoj world-- ak Nikdy som zavolať túto funkciu, to bude v prípade, že keď som nastaviť bodu zlomu, funkcia nebude nikdy volal. A preto je tento najmä zlom Nikdy vlastne pozastaví vykonávanie programu. Takže povedzme, že som správne vytvoriť prestávka bod na nejakom riadku kódu , Ktorý bude skutočne vykonaná. Teraz je v tomto prípade, to je Prvý riadok v hlavnej funkcie. Tak to bude určite prípad že akonáhle začnem prevedenie, sa dosiahne veľmi prvý riadok. GDB sa zastaví realizáciu. A potom budem môcť interakciu s ladiaci program. Môžete nastaviť viac riadky ako Hraničné hodnoty, ak by ste chceli. Môžeme tiež vytvoriť line up tu v tomto segmente kóde že nikdy nebude dosiahnutá. A môžeme tiež nastaviť jednu nižšie. Dôvod, že by sme Chcete to urobíme ísť do trochu viac detail za chvíľu. Takže teraz mi dovoľte, aby som jednoducho zakázať tieto ďalšie body prerušenia takže sa môžeme pozrieť na to, čo sa deje keď mám jednu prestávku bod v mojom programe. Urobil som nejaké zmeny tohto programu. Tak som potrebné uložiť. Budem kliknite na príkaz debug tak, že môžem začne kompilácie a potom vykonávanie ladiaci program. Budeme vidieť, že po okamihoch, o linka, ktorá sme vybrali ako prestávke bod je zvýraznený žlto. Môžeme tiež všimnúť, že v horná priamo v ladení paneli že ikona pauza zmenil do malej ikony prehrávania. To znamená, že máme pauzu prevedenie, v tomto konkrétnom prípade. A biť na tlačidlo Prehrať by nám umožní pokračovať v realizácii v tomto konkrétnom bode. Všimnite si, že je tu pár ďalších Tlačidlá sú k dispozícii v tomto ladenie panelu, tiež. Krok cez, čo mi umožňuje spustiť, že jeden riadok kódu a krok sa k tomuto riadku na budúci, ktorá, v tomto prípade, by znamenalo, že printf príkaz vykonaný. A bude potom pauza exekúcia na riadku 13, tak ako. A je tu tiež krok do funkcie, čo je užitočné, ak som vytvoril ďalší Funkcie inde v zdrojovom kóde. A chcem vstúpiť do tie funkcie skôr než vykonávať túto funkciu, ako celok. Ale pozrieme viac na kroku do funkcie za chvíľu. Teraz si všimnúť niektoré ďalšie veci, ktoré v skutočnosti existujú v tomto ladenie paneli. Máme tento panel nazvaný zásobník volaní, ktorý nám ukazuje, kde presne sme. V tomto prípade sme sú vo vnútri z hlavných funkcií. Náš scenár sa nazýva count.c. A my stalo, že sa na riadok 13, stĺpec onú, ktorý je presne to, čo zvýrazní región zdrojového kódu indikuje, rovnako. Teraz si všimnite, že to tiež ukazuje, pod lokálne premenné úseku všetky premenné, ktoré existujú v rámci tejto funkcie. Je dôležité si uvedomiť, že všetky premenné sa objaví v tomto lokálnej premennej časť vo vnútri funkcie, ešte pred tým, než sú definované. Vidíme tu, že máme premennú volal num, má predvolenú hodnotu 0, a to je typu int. Teraz, ako sme vlastne inicializovať všetky tieto premenné, nie sme nutne zaručené, že vidieť hodnotu 0. A v závislosti na ďalších popravách že ste vykonali a stav vašej pamäti pri ste skutočne spustiť tento program, môžete zistiť, že vás Nevidím hodnoty 0 a, namiesto toho, niektoré ďalšie bláznivé čísla. Ale nebojte sa o tom. Nebude to byť relevantné, kým ste skutočne inicializovať hodnotu. Teraz v tomto prípade môžeme vidieť, že Som vykonal nejaké výstupy. A ja, práve teraz, sa zastavil popravu. Ale v tomto prípade to, čo Naozaj chcem robiť je teraz prekročiť tento riadok kódu, takže môžem vlastne dotaz používateľa pre toto int, že chceme používať v našom programe. Teraz v tomto prípade, keď Som narazila prekročiť, oznámenie že Pozastavenie alebo skôr Resume Tlačidlo sa zmení na toto tlačidlo Pause preto, že tento kód je v skutočnosti vykonávania. Čo sa deje práve teraz je, že je na nás čaká na vstup nejaké informácie ako môžeme vidieť naše výstupnom texte na samom dne. Takže teraz, je to nie v skutočnosti sa odmlčal, Aj keď to, tak nejako sa zdá, byť preto, že sa nič nedeje. Ale len tak sa stane, že v môj špecifický prípad na riadku 13, Čakám na vstup užívateľa. A tak GDB nie je schopný kontrolovať program sa rozbehne. Teraz nabudúce, že mám zadať niektoré input-- takže budem zadajte toto číslo 5, ako sme videli v past-- hit Return, a my Všimnite si, že okamžite, GDB pauzy a opäť upozorňuje na ďalší riadok. Ale všimnite si, že teraz, ako Výsledkom našej zadaním hodnoty, sme aktualizovali túto hodnotu vo vnútri z našich lokálnych premenných, ktoré je veľmi užitočné, aby presne poznať čo, že číslo bolo v pamäti. Teraz môžem dovoliť tento program pokračovať hrať až do konca jeho prevedení tým, že udrie Pokračovať. Vidíme, že veľmi rýchlo robí program skončiť vykonávajúci o rovnakom výkone, ktoré sme predtým, ladiaci program zavrie, a teraz tento program úplne nezastaví. Aj ukazujú, že iba pre účely vidí to, čo sa stane, keď sme vlastne hit Pokračovať. Ale my v skutočnosti sa chystáme chcem sa vrátiť do tohto programu takže sa môžeme pokúsiť ladenie presne to, čo sa deje. Teraz, keď som pomocou nástroja na ladenie, môžem Nie je nutné tieto debug printf vyhlásení. Takže som ich mohol odstrániť čo budem robiť Teraz stačí sa vrátiť k nášmu jednoduchšie kód že sme mali pred chvíľou. Teraz, keď som sa zachrániť naprogramovať a spustiť ho, to bude, opäť, choďte na túto počiatočnú zlomiť bod, ktorý som mal na linke 11. A budem môcť prezrieť moje premenné ako ja chcem robiť. To len tak sa stane, že to Súčasťou nie je príliš zaujímavé, A viem, že idem vytlačiť toto vyhlásenie. Prosím, zadajte číslo. A potom, ja viem, že idem požiadať užívateľa pre toto celé číslo. Tak snáď som skutočne chcú hýbať rozbiť bod trochu ďalej. Môžete odstrániť body prerušenia kliknutím, opäť priamo na ľavo od uvedenej číslo riadka. To red dot zmizne, čo znamená, že tento zlom je teraz preč. Teraz v tomto prípade, poprava bola pozastavená. A tak to nie je vlastne bude pokračovať v tomto konkrétnom prípade. Ale môžem nastaviť pauzu bod o niečo neskôr. A keď teraz som znovu môj kód, bude pokračovať a povedať bod tohto bodom zlomu. Opäť platí, že som narazila životopis. Nevyzerá ako nič sa nedeje. Ale to je preto, že moja kód čaká na vstup. Budem zadať číslo 5, stlačte klávesu Enter, a Teraz bude hit ďalšie zlom. Teraz v tomto prípade to je riadok kódu že predtým, ako sme vedeli, náhodou buggy. Takže poďme hodnotiť, čo sa stane v tomto konkrétnom okamihu. Keď je zvýraznená čiara, to linka zatiaľ nebol vykonaný. Takže v tomto prípade môžeme vidieť že mám číslo, ktoré Mám číslo s názvom num, že má hodnotu 5. A ja budem vykonávať niektorí matematiky na tomto čísle. Keby som krok nad tým, môžeme Všimnite si, že hodnotu pre num zmenilo v súlade so aritmetika, že sme skutočne urobili. A teraz, že sme z toho pre vnútorné slučky alebo teraz, že pre sláčiky sám je zvýraznený, vidíme, že máme nový Premenná Volal som, že sa bude použitý v tom, že na slučke. Teraz pamätať Predtým som spomenul, že niekedy, že ste uvidí nejaký blázon Čísla sú v predvolenom nastavení pred týmto číslom alebo že premenná je v skutočnosti inicializovaný. Môžeme vidieť, že presne tu v tejto premennej Volal som, ktorý nemá doteraz inicializovaný v dobe zvýraznenie. Ale môžeme vidieť, že má nejaké číslo že by sme vlastne očakávať. To je v poriadku. Nebojte sa o tom pretože sme vlastne inicializuje toto číslo až I prekročiť tejto priamky a hodnotu i bola inicializovaná na hodnotu 1. Tak vidieť, že to je vlastne v prípade, poďme prekročiť. Teraz môžeme vidieť, že linka bola popravená. A sme teraz zvýraznenie printf tento riadok. A teraz môžeme vidieť, ako naše hodnoty o i a 3 sa menili v priebehu času. To je veľmi užitočné k tomu, v skutočnosti, je prekročiť linky opakovane. A môžete nájsť to, čo v skutočnosti sa deje vo vnútri vášho pre slučky a čo sa stane s premenné vo vnútri, že pre sláčiky ako to implementáciu programu vyskytuje jeden krok v čase. Práve v tomto bode, I Prekročila tak akurát že som teraz som na konci môjho programu. Keby som krok cez to, že to bude vlastne prestane vykonávanie ako sme videli v minulosti. Dovoľte mi, aby som to znova, opäť, tak že môžem poukázať niečo iné von, tiež. V tomto prípade je Teraz ma pýta, znovu, pre množstvo, ktoré Budem znova zadajte. Ale tentoraz, ja idem pre vstup do väčší počet, takže pre sláčiky bude opakovať viackrát. V tomto prípade, idem zadajte hodnotu 11. Teraz znovu, pretože som nastaviť bod zlomu na riadku 15, to bude upozorniť na tento riadok. Môžeme vidieť, že naše Číslo 11 je správne zastúpené v našich lokálnych premenných. Stepping cez to, že môžeme teraz sledujte, čo sa stane s našou hodnotu aj ako budeme pokračovať vo vnútri to pre slučku. To dostane zvýšený zakaždým, keď dostať na vrchol, ktorý pre slučky. A teraz jedna z vecí, ktoré by mohli byť užitočné vykonať počas vykonávania tohto programu je pre mňa skutočne zmeniť premenné Midstream vidieť čo sa stane s mojím programom. V tomto prípade, môžem vlastne dvakrát kliknite na hodnotu. Všimnite si, že sa stane textové pole. Teraz môžem vstúpiť iný úplne cení vidieť, ako môj program sa chová keď som sa zmenil tejto premennej. Teraz je v tomto prípade, je premenná aj teraz obsahuje hodnotu 10. Ale program je stále zastavila popravy. Keď som sa prekročiť, vidím, že hodnota i, ktorý som vstúpil ako 10, nie je väčšia ako hodnota num, ktorý okamžite spôsobí, že pre sláčiky zastaviť vykonávanie. Teraz to nie je jediný Dôvodom, prečo by ste Chcete zmeniť premennú na mieste. Dalo by sa skutočne chcú pokúsiť sa tak zmeniť že môžete pokračovať vykonaní slučky alebo tak, že si môžete upraviť nejakú hodnotu pred ním dosiahne nejaké konkrétne sadu aritmetiky že sa chystáte urobiť. Takže teraz, že sme vlastne zmeniť hodnota aj ako program sa vykonávania, to spôsobilo, že pre sláčiky prestať predčasne, pretože naraz, aj sa stalo, že je väčšia ako hodnota NUM, čo znamená, že pre sláčiky už nie sú potrebné, ktoré majú byť vykonané. Ďalej sa to stalo, že je prípad, ktorý sme zmenili hodnotu aj kedy bol zdôraznený linka 17, čo bol okamih že pre vykonanie slučky bol v skutočnosti hodnotené. Keby som zmenil hodnotu aj na inej linke, povedzme 19, by sme videli iný správanie, pretože linka 19 by boli vykonané pred slučky podmienka bola prehodnotila. Teraz na tomto mieste, že som opäť, Na konci tohto programu. A môžem dovoliť to pristúpiť k aby môj program ukončiť prirodzene. Ale je tu pár vecí, ktoré sú dôležité, aby vzali z tohto konkrétneho rokovania. Je potrebné vyhodnotiť Vaše vlastné predpoklady o tom, ako by mal byť kód chová. Kedykoľvek si myslíte, že nejaký kus o kód viete, sa stane aj prácu, to by mohlo byť červená vlajka ísť dozadu a vyhodnocovať, a uistite sa, že vaše prevzatia ako tento kód funguje je vlastne pravda, ako to je vyjadrené v zdrojovom kóde. Ale ešte viac k bodu bol, keď sme pomocou debugger, si môžete dať na zarážky rôzne riadkov kódu, ktorý spôsobí, že ladiaci pauza vykonávanie v každom z týchto liniek takže môžete hodnotiť pamäte alebo dokonca ju zmeniť na svojom mieste. A opäť, nezabudnite, že môžete vytvoriť viac zarážky, aby ste Môžete tiež pokračovať v realizácii, preskočte cez veľké časti kódu, a to bude automaticky pozastaví pri ďalšom bodom zlomu. Tam je vlastne vyspelejšie funkcie ladiaci program, rovnako. Ale musíme vás odkázať niektorých ďalších videá aby sa skutočne dráždiť od seba, ako používať tieto konkrétne funkcie. Pre túto chvíľu, ďakujem moc za sledovanie. A veľa šťastia ladenie.