[? 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.