1 00:00:00,000 --> 00:00:00,309 2 00:00:00,309 --> 00:00:02,350 [? DAN ARMADARAS:?] Sveiki, Aš [? Danas Armadaras?]. 3 00:00:02,350 --> 00:00:04,410 Šiandien mes ketiname žiūri į derinti. 4 00:00:04,410 --> 00:00:06,697 Ne tik mes ketiname kalbėti apie kai kurių metodų, 5 00:00:06,697 --> 00:00:09,280 bet mes ketiname pažvelgti į keletas iš funkcijų, esančius 6 00:00:09,280 --> 00:00:14,170 per CS50 IDE, kad būtų galima jums lengvai derinti programą. 7 00:00:14,170 --> 00:00:16,272 >> Tik vienas pavyzdys kažkas, kad gali suklysti 8 00:00:16,272 --> 00:00:18,730 ir tai tikrai kažkas kad mes jau matėme anksčiau. 9 00:00:18,730 --> 00:00:23,200 Šiuo atveju, tai yra, C programa , kuri priima sveikasis skaičius nuo naudotojo, 10 00:00:23,200 --> 00:00:27,580 ją dalina iš dviejų, ir suteikia išėjimo atgal į vartotojo. 11 00:00:27,580 --> 00:00:30,610 Dabar iš to, ką mes matėme anksčiau paskaitose, 12 00:00:30,610 --> 00:00:34,370 mes žinome, kad tai iš tikrųjų gali sukelti konkrečių rūšių skaidymo problemas 13 00:00:34,370 --> 00:00:35,860 kai mes turime nelyginis skaičius. 14 00:00:35,860 --> 00:00:40,330 >> Tiksliau, mes tiesiog išmesti nieko po kablelio. 15 00:00:40,330 --> 00:00:43,170 Dabar mes žinome, kad tai atsitinka būti tas atvejis. 16 00:00:43,170 --> 00:00:47,430 Ir jei mes paleisti jį, mes galime patvirtinti, mūsų įtarimai, pirma, sudarant. 17 00:00:47,430 --> 00:00:50,460 Ir tada, bėgiojimą ir patekti nelyginis skaičius. 18 00:00:50,460 --> 00:00:51,720 >> Tai nieko naujo. 19 00:00:51,720 --> 00:00:54,490 Bet tai iš tiesų yra pavyzdys klaidą, kad 20 00:00:54,490 --> 00:00:58,810 gali egzistuoti didesnės programos kad tampa sunkiau susekti. 21 00:00:58,810 --> 00:01:02,640 Nors mes žinome, ką klausimas yra tikroji esmė klausimo 22 00:01:02,640 --> 00:01:06,250 gali būti bando nustatyti specialiai kur įvyksta klaida, 23 00:01:06,250 --> 00:01:09,750 nustatyti, kas šią problemą yra, ir tada nustatant jį. 24 00:01:09,750 --> 00:01:14,400 Taigi pateikti tai kaip pavyzdys kas gali būti kažkas 25 00:01:14,400 --> 00:01:19,030 kad mes jau žinome, tačiau gali būti palaidotas per kitų elementų kodą. 26 00:01:19,030 --> 00:01:23,090 >> Taigi atidarymo šį kito šaltinio kodas failą kaip, pavyzdžiui, 27 00:01:23,090 --> 00:01:27,165 Šis padalinys problema dabar dalis didesnės programą. 28 00:01:27,165 --> 00:01:29,040 Vis dar gali būti šiek tiek tiek nenatūralu, ir mes 29 00:01:29,040 --> 00:01:31,076 galėtų lengvai identifikuoti, ypač 30 00:01:31,076 --> 00:01:32,450 nes mes tik aptarti tai. 31 00:01:32,450 --> 00:01:38,250 Tačiau mes galime išsiaiškinti, kad ši problema gali egzistuoti platesniu mastu. 32 00:01:38,250 --> 00:01:45,450 >> Jei aš surinkti tai ir dabar paleisti jį, įveskite nelyginis skaičius, 33 00:01:45,450 --> 00:01:49,816 matome, kad mes negalime gauti tiksliai išvesties, kad mes galime tikėtis. 34 00:01:49,816 --> 00:01:51,690 Šiuo konkrečiu atveju, mes galime pasakyti, kad mes 35 00:01:51,690 --> 00:01:56,060 nori skaičiuoti visus numerius, iš vienos iki tam tikru numeriu. 36 00:01:56,060 --> 00:01:58,130 Ir matome, kad mes turi įvairiais klausimais 37 00:01:58,130 --> 00:02:03,880 čia jei mes išvedė, tiesiog, 0 ir 1, kai mes teikiame 5 įvestį. 38 00:02:03,880 --> 00:02:07,380 >> Taigi, mes jau žinome, kad yra problema čia. 39 00:02:07,380 --> 00:02:11,662 Bet mes negali tiksliai žinoti kur šis klausimas iš tikrųjų egzistuoja. 40 00:02:11,662 --> 00:02:13,620 Dabar vienas iš būdų, kad mes galime pabandyti išspręsti šią problemą 41 00:02:13,620 --> 00:02:15,745 yra kažkas, kad mes jau buvo pristatytas. 42 00:02:15,745 --> 00:02:18,880 Mes galime tik jį naudoti platesniu mastu. 43 00:02:18,880 --> 00:02:21,680 >> On line 14, mes turime Ši funkcija printf, 44 00:02:21,680 --> 00:02:25,620 kuri leidžia mums spausdinti valstybės įvairių informacijos fragmentų. 45 00:02:25,620 --> 00:02:28,880 Ir tai yra kažkas, kad jūs turėtų išnaudoti per jūsų programa 46 00:02:28,880 --> 00:02:33,100 pabandyti išsiaiškinti, ką tai vyksta įvairių eilučių kodo. 47 00:02:33,100 --> 00:02:36,350 Taigi, net jei taip nėra, galutinės produkcijos, kad mes iš tikrųjų 48 00:02:36,350 --> 00:02:39,830 nori gaminti iš Ši programa, mes vis dar 49 00:02:39,830 --> 00:02:42,300 gali turėti tam tikrą debug pareiškimai, kur mes 50 00:02:42,300 --> 00:02:46,970 galite pabandyti išsiaiškinti, ką tiksliai vyksta viduje mūsų kodą. 51 00:02:46,970 --> 00:02:51,210 >> Taigi, šiuo atveju, aš printf su debug žyma. 52 00:02:51,210 --> 00:02:53,540 Šiuo atveju, tai yra tik derinti eilutė 53 00:02:53,540 --> 00:02:56,840 kad aš iki-išleidimą, kad ji taptų labai aišku, mano kodas produkcijos 54 00:02:56,840 --> 00:02:59,200 kas tai yra, kad aš noriu parodyti. 55 00:02:59,200 --> 00:03:04,410 Ir išėjimo čia numeris kad mes skaičiuojamas. 56 00:03:04,410 --> 00:03:06,800 >> Šiuo atveju, galiu nori tiksliai žinoti 57 00:03:06,800 --> 00:03:11,380 tai, kas vyksta prieš ir po tam tikro konkretaus apskaičiavimo. 58 00:03:11,380 --> 00:03:16,224 Taigi galiu naudoti printf prieš o po to kodo eilutę. 59 00:03:16,224 --> 00:03:18,640 Šiuo atveju, aš netgi kad ji šiek tiek aiškesnė 60 00:03:18,640 --> 00:03:21,960 sakydamas debug prieš ir derinti po tiek 61 00:03:21,960 --> 00:03:26,540 kad aš nepainiokite save su keletą eilučių, kurie atrodo identiški. 62 00:03:26,540 --> 00:03:32,290 >> Dabar, jei mes sukompiliuoti ir paleisti tai jis vėl įvesti numerį kaip penki, 63 00:03:32,290 --> 00:03:35,090 matome, kad turime dabar išėjimo prieš ir po 64 00:03:35,090 --> 00:03:40,670 ir mano, kad mes ne padaryti aiškus kvadratas arba aišku, turintis skaičiaus 65 00:03:40,670 --> 00:03:43,680 kad mes iš tikrųjų nori daryti. 66 00:03:43,680 --> 00:03:48,660 Dabar, šiuo atveju, tai yra tikrai ne aišku produkcija. 67 00:03:48,660 --> 00:03:52,440 Tai tikrai nėra aišku, rezultatas, kad mes norime iš šio tikros programos. 68 00:03:52,440 --> 00:03:54,427 >> Ir tai yra, vėl, šiek tiek nenatūralu. 69 00:03:54,427 --> 00:03:57,510 Bet, ko gero, vienas iš dalykų, kad galėtume daryti, jei specifikacija sakė 70 00:03:57,510 --> 00:04:01,900 kad mes norime padalinti tai padaryti 2 ir pridėti 1-- taip, kitaip tariant, 71 00:04:01,900 --> 00:04:04,550 norime suburti up-- tada mes galime žinoti, kad mes galime 72 00:04:04,550 --> 00:04:08,060 padaryti, kad ypatingą dalyką, šiuo atveju. 73 00:04:08,060 --> 00:04:14,010 Dabar čia mes žinome, kad bus galėtų pridėti 1 prie mūsų perpus skaičius. 74 00:04:14,010 --> 00:04:16,490 >> Leiskite perkompiliuoti tai ir kad šis 75 00:04:16,490 --> 00:04:18,860 elgiasi taip, kad mes norime. 76 00:04:18,860 --> 00:04:21,980 Mes matome, kad dabar, kol turintys, turime skaičius 5. 77 00:04:21,980 --> 00:04:26,620 Po to, mes turime 3 numeriu, kuri pagal mūsų specifikacijoje, 78 00:04:26,620 --> 00:04:29,292 yra tai, ką mes norėjome padaryti. 79 00:04:29,292 --> 00:04:31,000 Bet jei pažvelgsime į produkcija čia, mes galime 80 00:04:31,000 --> 00:04:33,760 matyti, kad mes galime turėti kitą Re apskritai, kuris yra 81 00:04:33,760 --> 00:04:36,940 kad mes pradedame mūsų skaičių nuo 0. 82 00:04:36,940 --> 00:04:39,390 >> Dabar vėl, tai yra kažkas, kad matėme praeityje 83 00:04:39,390 --> 00:04:42,500 ir mes galime nustatyti gana lengvai. 84 00:04:42,500 --> 00:04:44,790 Bet šiuo atveju, mes taip pat turėjo naudos 85 00:04:44,790 --> 00:04:48,940 ne naudojant printf tiesiogiai viduje už linijos 86 00:04:48,940 --> 00:04:52,930 tiksliai žinoti, kur ši klaida buvo pasikartojimui. 87 00:04:52,930 --> 00:04:55,150 Taigi printf pareiškimai labai naudinga padėti 88 00:04:55,150 --> 00:04:57,940 jums nustatyti, kurioje, būtent savo kodą, 89 00:04:57,940 --> 00:05:00,620 konkreti klaida pasikartojimui. 90 00:05:00,620 --> 00:05:03,650 >> Ir tai taip pat svarbu suvokti, kad, kaip mes rašyti kodą, 91 00:05:03,650 --> 00:05:06,052 mes galime turėti prielaidas apie programos būseną. 92 00:05:06,052 --> 00:05:08,510 Arba mes galime turėti prielaidas apie tai, kas programos dalis 93 00:05:08,510 --> 00:05:13,020 iš tiesų yra teisingas, ar neteisingas, kai vėliau kaip mes statome ant tos programos 94 00:05:13,020 --> 00:05:15,950 ir padaryti jį įgyvendinti, nepaisant sudėtinga ir didesnis programa 95 00:05:15,950 --> 00:05:19,700 kad mes suprantame, kad kai kurie aspektas apie tai iš tikrųjų Buggy. 96 00:05:19,700 --> 00:05:22,680 >> Naudojant printf tikrai gali padėti susiaurinti ir nustatyti 97 00:05:22,680 --> 00:05:26,430 dėl programos regionai, negali būti elgiasi būtent taip, kad mes 98 00:05:26,430 --> 00:05:29,500 tikėtis, remiantis mūsų prielaidomis. 99 00:05:29,500 --> 00:05:31,460 Bet yra kitas priemones, prieinamas, taip pat, 100 00:05:31,460 --> 00:05:34,860 kad leidžia mums bando išsiaiškinti ten, kur klaida vyksta 101 00:05:34,860 --> 00:05:39,930 Taip pat, konkrečiai, ką vyksta viduje šią programą. 102 00:05:39,930 --> 00:05:41,990 >> Taigi, naudojant printf yra labai naudinga, kai mes norime 103 00:05:41,990 --> 00:05:45,900 nustatyti konkrečius sritis programa, kuri turi tam tikrą klaidą. 104 00:05:45,900 --> 00:05:47,730 Bet jis taip pat tampa nuobodų po kurio laiko. 105 00:05:47,730 --> 00:05:50,500 Šiuo atveju, tai yra gana paprasta programa 106 00:05:50,500 --> 00:05:52,750 tik su vienu ar dviem kintamaisiais. 107 00:05:52,750 --> 00:05:57,260 Ir tai tampa labai lengva mums spausdinti šių kintamųjų vertės 108 00:05:57,260 --> 00:05:59,670 atsižvelgiant į didesnę programą kontekste. 109 00:05:59,670 --> 00:06:02,670 >> Bet mes galime turėti skirtingas programa, kuri turi daug kintamųjų. 110 00:06:02,670 --> 00:06:06,530 Ir tai gali būti ne visai labai paprasta naudoti printf 111 00:06:06,530 --> 00:06:10,120 pabandyti įvertinti tai, kas vyksta į kiekvienos iš šių kintamųjų 112 00:06:10,120 --> 00:06:13,590 Kadangi programa yra vykdomas. 113 00:06:13,590 --> 00:06:16,960 Yra programa, kuri egzistuoja vadinamas debugeris programa. 114 00:06:16,960 --> 00:06:20,320 Šiuo atveju, vienas, kad mes naudojimas yra GNU debugeris arba GDB, 115 00:06:20,320 --> 00:06:24,260 kuri leidžia mums patikrinti vidaus darbu programą, daug daugiau 116 00:06:24,260 --> 00:06:25,700 Detali būdas. 117 00:06:25,700 --> 00:06:28,810 >> Mes iš tikrųjų gali atlikti GDB iš komandinės eilutės 118 00:06:28,810 --> 00:06:35,370 čia tiesiog rašyti GDB ir komandą, kad mes norime derinti. 119 00:06:35,370 --> 00:06:37,550 Šiuo atveju, skaičius. 120 00:06:37,550 --> 00:06:41,650 Dabar, šiuo atveju, galime matyti, kad ji duoda mums į eilutę, kad sako GDB. 121 00:06:41,650 --> 00:06:44,020 Ir mes galime iš tikrųjų vykdyti komandas į GDB 122 00:06:44,020 --> 00:06:48,260 kad iš tikrųjų pradėti vykdymo programa, sustabdyti jį tam tikrais klausimais, 123 00:06:48,260 --> 00:06:51,060 įvertinti kintamuosius ir tikrinti kintamųjų, kurie 124 00:06:51,060 --> 00:06:54,152 egzistuoja programos valstybės tuo konkrečiu momentu, 125 00:06:54,152 --> 00:06:55,110 ir taip toliau ir taip toliau. 126 00:06:55,110 --> 00:06:57,240 Ji suteikia daug energijos mums. 127 00:06:57,240 --> 00:06:59,960 >> Bet tai tiesiog taip atsitinka, kad CS50 IDE pat 128 00:06:59,960 --> 00:07:05,870 numato GUI arba vartotojo sąsaja GDB, kad 129 00:07:05,870 --> 00:07:11,120 leidžia mums tai padaryti, nereikalaujant komandinės eilutės sąsaja kokia 130 00:07:11,120 --> 00:07:13,560 arba ne visi net. 131 00:07:13,560 --> 00:07:16,930 Taip, kad galiu pasiekti, kad yra naudojant derinimo mygtuką 132 00:07:16,930 --> 00:07:20,120 pačiame viršuje CS50 IDE. 133 00:07:20,120 --> 00:07:24,280 Dabar praeityje, ką turime matyti tai, kad mes naudojame komandą 134 00:07:24,280 --> 00:07:27,660 linija kaupti ir tada paleisti programą. 135 00:07:27,660 --> 00:07:29,790 >> Derinimo mygtuką daro abiejų šių etapų. 136 00:07:29,790 --> 00:07:34,380 Tačiau ji taip pat atneš up debugeris skirtukas dešinėje 137 00:07:34,380 --> 00:07:38,280 kuri leidžia mums patikrinti veislę savybių programos 138 00:07:38,280 --> 00:07:40,500 kaip ji yra vykdomas. 139 00:07:40,500 --> 00:07:44,280 Jei aš spustelėkite debug, šiuo atveju, jis atneš iki 140 00:07:44,280 --> 00:07:48,230 naujas skirtukas konsolės langas pačioje apačioje. 141 00:07:48,230 --> 00:07:51,160 >> Ir jūs galite pamatyti, kad tai skirtukas kai pačiame viršuje informacija. 142 00:07:51,160 --> 00:07:52,670 Ir mes galime daugiausia ignoruoti tai. 143 00:07:52,670 --> 00:07:54,800 Tačiau vienas iš dalykų, kad norime pastebėti, 144 00:07:54,800 --> 00:07:57,170 tai, kad ji išveda tas pats dalykas, kad mes 145 00:07:57,170 --> 00:08:03,000 būtų gauti, jei mes bandėme paleisti pateikti dėl C programa terminalo langą. 146 00:08:03,000 --> 00:08:06,230 >> Čia mes matome tai veikia klingsėti, ir ji turi vėliavų įvairovę, 147 00:08:06,230 --> 00:08:12,660 ir ji yra kompiliavimo mūsų count.c failą, kuris buvo pasirinktas kortelėje tuo metu, 148 00:08:12,660 --> 00:08:15,100 kad aš hit derinti. 149 00:08:15,100 --> 00:08:18,010 Taigi tai yra labai naudinga, nes dabar naudojant šią derinimo mygtuką, 150 00:08:18,010 --> 00:08:23,280 mes galime vienu metu kaupia ir tada vykdyti programą, kad mes iš tikrųjų 151 00:08:23,280 --> 00:08:24,460 norite paleisti. 152 00:08:24,460 --> 00:08:27,880 >> Vienas iš vėliavėlių, kad yra Svarbu, šiuo atveju, 153 00:08:27,880 --> 00:08:30,190 mes iš tikrųjų buvo naudojant už ilgiausią laiką 154 00:08:30,190 --> 00:08:32,450 bet tiesiog padarė tam tikrą ranką garbanojimo [nesigirdi], kuris 155 00:08:32,450 --> 00:08:33,820 tai vienas čia. 156 00:08:33,820 --> 00:08:35,790 Be klingsėti, ji sako -ggdb3. 157 00:08:35,790 --> 00:08:38,570 158 00:08:38,570 --> 00:08:41,250 Šiuo atveju, kas mes esame sakau klingsėti, mūsų kompiliatorių, 159 00:08:41,250 --> 00:08:43,820 yra tai, kad mes norime sudaryti savo programą. 160 00:08:43,820 --> 00:08:46,810 Bet taip pat pateikti kas yra vadinamas simbolis informacija 161 00:08:46,810 --> 00:08:50,940 taip, kad kompiliatorius tikrųjų turi prieigą iki pagrindinės daug informacijos 162 00:08:50,940 --> 00:08:52,610 pateikta pagal programą. 163 00:08:52,610 --> 00:08:55,260 >> Konkrečiau, numeris funkcijų, kad aš, 164 00:08:55,260 --> 00:08:58,000 šių funkcijų pavadinimai, kintamieji, tipai 165 00:08:58,000 --> 00:09:01,730 kad šie kintamieji yra, ir įvairovė kitų dalykų, kurie padeda debugger 166 00:09:01,730 --> 00:09:04,350 atlikti savo darbą. 167 00:09:04,350 --> 00:09:06,600 Dabar yra kažkas tai svarbu paminėti 168 00:09:06,600 --> 00:09:10,280 kai mes aptarti veikia yra vienas iš šiuo būdu programa. 169 00:09:10,280 --> 00:09:13,660 >> Atkreipkite dėmesį, kad tai yra iš tikrųjų išvedė naują skirtuką mūsų konsolės 170 00:09:13,660 --> 00:09:14,780 išilgai dugno. 171 00:09:14,780 --> 00:09:18,600 Mes nebeturime bendrauti tiesiogiai su terminalo langą. 172 00:09:18,600 --> 00:09:21,420 Bet šis naujas skirtukas faktiškai terminalo langą. 173 00:09:21,420 --> 00:09:26,710 Jis tiesiog yra būdingi veikia programa, kad mes sukūrėme. 174 00:09:26,710 --> 00:09:29,270 >> Atkreipkite dėmesį, kad apačioje, ir kartu su kai produkcija 175 00:09:29,270 --> 00:09:33,500 iki klingsėti kompiliatorius ir GDB, kurioje mes daugiausia gali ignoruoti, 176 00:09:33,500 --> 00:09:37,570 ji iš tikrųjų rodo, produkcijos Mūsų programa pačioje apačioje. 177 00:09:37,570 --> 00:09:41,240 Dabar svarbu suvokti, kad tai vienas langas iš tikrųjų 178 00:09:41,240 --> 00:09:43,360 bus parodyti jums išėjimas iš savo programos 179 00:09:43,360 --> 00:09:47,190 bet taip pat gali priimti įvestį tos programos, taip pat. 180 00:09:47,190 --> 00:09:49,260 >> Taigi pranešimas, kad sako Prašome įvesti numerį, 181 00:09:49,260 --> 00:09:53,050 kuris yra tas pats, kad mes turėjo išėjimo turėjo terminalo lange prieš. 182 00:09:53,050 --> 00:09:55,510 Bet tai dabar parodyta šiame naujame skirtuke. 183 00:09:55,510 --> 00:09:56,550 Galiu įvesties numerį. 184 00:09:56,550 --> 00:10:00,900 Ir tai tikrai bus funkcija, kaip mes tikimės, 185 00:10:00,900 --> 00:10:05,890 rodydamas mums mūsų debug, produkcija, produkcijos, kuri gali būti Buggy, 186 00:10:05,890 --> 00:10:07,010 kaip matėme anksčiau. 187 00:10:07,010 --> 00:10:10,460 Ir pačioje apačioje, tai iš tikrųjų turi tam tikrą papildomą išvestį 188 00:10:10,460 --> 00:10:14,550 nuo BVP tiesiog pasakyti, kad Ši programa yra baigtas. 189 00:10:14,550 --> 00:10:16,655 >> Dabar, kaip jūs matėte tai pirma eina per, 190 00:10:16,655 --> 00:10:19,370 ji buvo ne itin naudinga, nes net 191 00:10:19,370 --> 00:10:23,740 nors mes turėjome Debugger meniu ateiti aukštyn, tai vis dar buvo vykdomos programos. 192 00:10:23,740 --> 00:10:26,790 Jokiame taške tai padarė iš tikrųjų sustabdyti vykdymą mus 193 00:10:26,790 --> 00:10:30,767 kad būtų galima patikrinti visus kintamieji esančius viduje. 194 00:10:30,767 --> 00:10:32,850 Yra kažkas kad mes turime daryti, kad 195 00:10:32,850 --> 00:10:36,910 gauti GDB pripažinti, kad mes norime pristabdyti programos vykdymo 196 00:10:36,910 --> 00:10:42,820 ir ne tik, kad ji galėtų toliau paprastai, kaip mes to bet kuriuo kitu atveju. 197 00:10:42,820 --> 00:10:45,530 >> Siekiant sustabdyti vykdymą, tam tikru konkrečiu linija, 198 00:10:45,530 --> 00:10:47,830 turime sukurti tai, kas vadinama pertrauka taškas. 199 00:10:47,830 --> 00:10:52,670 Ir pertrauka taškas labai lengvai sukurta šiame CS50 IDE atsižvelgiant pelę 200 00:10:52,670 --> 00:10:57,090 ir paspaudus tiesiogiai į kairę kai kurių specifinių linijų skaičius. 201 00:10:57,090 --> 00:10:59,920 Kai aš padaryti, kad raudonas taškas Pasirodo, kuris rodo, 202 00:10:59,920 --> 00:11:02,300 kad linija yra dabar pertrauka taškas. 203 00:11:02,300 --> 00:11:07,540 >> Ir kitą kartą, kad aš paleisti GDB, ją nustos vykdymą tuo lūžio taško 204 00:11:07,540 --> 00:11:10,280 kai jis pasiekia, kad kodo eilutę. 205 00:11:10,280 --> 00:11:12,230 Dabar tai yra svarbus dalykas suvokti 206 00:11:12,230 --> 00:11:16,140 kad tai nebūtinai atvejis, kad kiekvieną kodo eilutę 207 00:11:16,140 --> 00:11:17,880 yra tikrai prieinamos. 208 00:11:17,880 --> 00:11:23,780 Jei aš būčiau sukurti funkciją iki čia, nes example-- void f-- 209 00:11:23,780 --> 00:11:31,230 ir tiesiog padaryti spausdinimo liniją here-- Sveiki world-- jei aš niekada skambinti šią funkciją, 210 00:11:31,230 --> 00:11:34,770 ji bus tas atvejis, kad, jei aš nustatyti pertrauka čia 211 00:11:34,770 --> 00:11:36,220 funkcija niekada nebus vadinamas. 212 00:11:36,220 --> 00:11:38,310 Ir todėl, šis pirma pertrauka taškas 213 00:11:38,310 --> 00:11:43,040 niekada iš tikrųjų sustabdyti programos vykdymą. 214 00:11:43,040 --> 00:11:48,020 >> Taigi tarkime, kad aš teisingai sukurti pertrauka taškas nors kodo eilutę 215 00:11:48,020 --> 00:11:50,340 kad iš tikrųjų bus įvykdytas. 216 00:11:50,340 --> 00:11:53,470 Dabar, šiuo atveju, tai yra Pirmoji linija pagrindinė funkcija. 217 00:11:53,470 --> 00:11:56,630 Taigi tikrai bus tuo atveju, kad kaip tik aš pradėti vykdymą, 218 00:11:56,630 --> 00:11:58,580 pačioje pirmoje eilutėje bus pasiektas. 219 00:11:58,580 --> 00:12:00,230 GDB bus pristabdyti vykdymą. 220 00:12:00,230 --> 00:12:04,100 Ir tada, aš galės bendrauti su išriktuotojo. 221 00:12:04,100 --> 00:12:08,480 >> Galite nustatyti keletą eilučių, kaip ribinės koncentracijos, jei norėtumėte. 222 00:12:08,480 --> 00:12:11,365 Mes taip pat galime sukurti liniją iki čia, šio kodo segmento 223 00:12:11,365 --> 00:12:12,490 kad niekada nebus pasiektas. 224 00:12:12,490 --> 00:12:14,744 Ir taip pat gali nustatyti vieną toliau. 225 00:12:14,744 --> 00:12:16,660 Priežasties, kad mes būtume nori tai mes padarysime 226 00:12:16,660 --> 00:12:19,119 eiti į šiek tiek daugiau Detalė vos akimirką. 227 00:12:19,119 --> 00:12:21,660 Taigi dabar, leiskite man tiesiog išjungti šie papildomi atkovoti 228 00:12:21,660 --> 00:12:24,940 kad galėtume pažvelgti, kas atsitinka, kai turiu vieną pertrauką 229 00:12:24,940 --> 00:12:27,650 taškas į mano programą. 230 00:12:27,650 --> 00:12:29,410 Aš padariau kai pokyčiai šiai programai. 231 00:12:29,410 --> 00:12:30,750 Taigi man reikia ją išsaugoti. 232 00:12:30,750 --> 00:12:34,490 Aš spustelėkite debug, kad galėčiau pradėti rengimo ir tada 233 00:12:34,490 --> 00:12:36,880 vykdymas išriktuotojo. 234 00:12:36,880 --> 00:12:40,632 >> Pamatysime, kad po akimirkų linija, kuri buvo pasirinkta kaip pertraukos 235 00:12:40,632 --> 00:12:43,360 taškas yra paryškinamas geltonai. 236 00:12:43,360 --> 00:12:47,440 Taip pat galima pastebėti, kad į Viršutinė tiesiai į debug skydelyje 237 00:12:47,440 --> 00:12:50,940 kad pertraukos piktograma tapo į mažai žaidimo piktogramą. 238 00:12:50,940 --> 00:12:54,710 Tai reiškia, kad mes turime pauzę vykdymas, šiuo konkrečiu atveju. 239 00:12:54,710 --> 00:12:57,840 Ir pataikyti mygtuką "Leisti" būtų leidžia mums tęsti vykdymą 240 00:12:57,840 --> 00:13:00,000 tuo konkrečiu klausimu. 241 00:13:00,000 --> 00:13:03,240 >> Atkreipkite dėmesį, kad ten yra kita pora mygtukai laisvų šiame debug skydelio, 242 00:13:03,240 --> 00:13:04,220 taip pat. 243 00:13:04,220 --> 00:13:09,470 Žingsnis per, kuris leidžia man vykdyti šią vieną eilutę kodo 244 00:13:09,470 --> 00:13:14,030 ir peržengti tą liniją į Kitas vienas, kuris, šiuo atveju, 245 00:13:14,030 --> 00:13:17,060 reikštų, kad printf sakinys yra įvykdomas. 246 00:13:17,060 --> 00:13:22,310 Ir tai bus tada pristabdyti vykdymas on-line 13, kaip ir. 247 00:13:22,310 --> 00:13:25,090 >> Ir ten taip pat yra žingsnis į funkcijas, kurios, 248 00:13:25,090 --> 00:13:28,950 yra naudinga, jei aš sukūriau kitą funkcijos kitur kodą. 249 00:13:28,950 --> 00:13:31,420 Ir aš noriu žingsnis į šios funkcijos, o ne 250 00:13:31,420 --> 00:13:33,050 vykdyti šią funkciją, kaip visuma. 251 00:13:33,050 --> 00:13:37,279 Bet mes pažvelgti daugiau pakopoje į funkciją tik akimirką. 252 00:13:37,279 --> 00:13:40,320 Dabar pastebėti kai kurių kitų dalykų, kad iš tikrųjų egzistuoja šio derinimo pulte. 253 00:13:40,320 --> 00:13:44,110 >> Mes turime tai skydelio vadinamas skambinti kamino, kuris rodo mums 254 00:13:44,110 --> 00:13:45,300 kur tiksliai esame. 255 00:13:45,300 --> 00:13:48,550 Šiuo atveju, mes yra viduje Pagrindinio funkcija. 256 00:13:48,550 --> 00:13:50,880 Mūsų scenarijus yra vadinamas count.c. 257 00:13:50,880 --> 00:13:53,820 Ir mes atsitiktų būti 13 linija, vienas stulpelis, kuris 258 00:13:53,820 --> 00:13:58,950 Būtent tai pabrėžė regionas iš kodo rodo, taip pat. 259 00:13:58,950 --> 00:14:02,435 >> Dabar pastebėti, kad šis taip pat rodo, pagal vietinio kintamojo skyriuje 260 00:14:02,435 --> 00:14:06,710 visų kintamųjų, kad egzistuoja tokia funkcija. 261 00:14:06,710 --> 00:14:08,930 Svarbu pažymėti, kad visi kintamieji 262 00:14:08,930 --> 00:14:12,580 pasirodys šio kintamojo vietos skyriuje per funkciją, 263 00:14:12,580 --> 00:14:14,380 dar prieš jos yra apibrėžtos. 264 00:14:14,380 --> 00:14:19,160 Mes matome, kad čia turime kintamąjį vadinamas num, turi numatytąją reikšmę 0, 265 00:14:19,160 --> 00:14:21,280 ir jis yra tipas int. 266 00:14:21,280 --> 00:14:24,110 >> Dabar, kol mes iš tikrųjų inicijuoti visų šių kintamųjų, 267 00:14:24,110 --> 00:14:26,685 mes nebūtinai garantuoja, kad pamatyti vertė yra 0. 268 00:14:26,685 --> 00:14:29,200 Ir priklausomai nuo kitų egzekucijų kad turite atlikti 269 00:14:29,200 --> 00:14:32,020 ir jūsų atmintyje, kai valstybiniai jūs iš tikrųjų paleisti šią programą, 270 00:14:32,020 --> 00:14:34,605 jums gali rasti, kad jums nematau vertybes 0 271 00:14:34,605 --> 00:14:36,550 ir, vietoj to, keletas kitų beprotiškas numeriai. 272 00:14:36,550 --> 00:14:38,390 >> Bet nesijaudinkite apie tai. 273 00:14:38,390 --> 00:14:44,610 Jis nesiruošia būti aktuali, kol jūs iš tikrųjų inicijuoti vertę. 274 00:14:44,610 --> 00:14:49,630 Dabar šiuo atveju, mes galime pamatyti, kad Aš įvykdžiau keletą išėjimus. 275 00:14:49,630 --> 00:14:52,131 Ir aš, dabar, sustabdytas vykdymas. 276 00:14:52,131 --> 00:14:53,880 Bet šiuo atveju, kas Aš tikrai noriu daryti 277 00:14:53,880 --> 00:14:58,060 tai dabar peržengti šią liniją kodo, kad galėčiau iš tikrųjų 278 00:14:58,060 --> 00:15:04,390 užklausti tos int vartotoją, mes nori naudoti mūsų programą. 279 00:15:04,390 --> 00:15:07,060 >> Dabar šiuo atveju, kai I hit peržengti, pranešimus 280 00:15:07,060 --> 00:15:11,940 kad Pauzė ar veikiau Resume mygtuką pasikeitė šį mygtuką Pauzė 281 00:15:11,940 --> 00:15:14,022 nes šis kodas yra faktiškai vykdyti. 282 00:15:14,022 --> 00:15:15,730 Kas vyksta dabar yra tai, kad 283 00:15:15,730 --> 00:15:21,630 mūsų laukia įvesti tam tikrą informaciją kaip matome mūsų produkcijos tekstą 284 00:15:21,630 --> 00:15:23,600 pačioje apačioje. 285 00:15:23,600 --> 00:15:25,787 >> Dabar, vadinasi, tai yra faktiškai nėra sustabdytas, 286 00:15:25,787 --> 00:15:28,620 nors ji, tarsi atrodo, būti, nes nieko nevyksta. 287 00:15:28,620 --> 00:15:32,360 Bet tai tiesiog taip atsitinka, kad mano konkretus atvejis on-line 13 288 00:15:32,360 --> 00:15:34,210 Aš laukiu naudotojo įvesties. 289 00:15:34,210 --> 00:15:39,130 Ir taip GDB negali patikrinti nes ji programa veikia. 290 00:15:39,130 --> 00:15:43,370 >> Dabar, kai kitą kartą, kad aš įvesti kai input-- todėl aš įvesti šį numerį 5, 291 00:15:43,370 --> 00:15:46,140 kaip mes matėme į past-- Atsiverkite, ir mes 292 00:15:46,140 --> 00:15:51,430 praneša, kad iš karto, GDB pauzių ir vėl pabrėžiamas kitą eilutę. 293 00:15:51,430 --> 00:15:55,320 Tačiau pastebite, kad dabar, kaip rezultatas mūsų įvedusi vertę, 294 00:15:55,320 --> 00:15:58,930 mes atnaujinome šią vertę viduje mūsų vietinių kintamųjų, kurie 295 00:15:58,930 --> 00:16:05,560 Labai naudinga tiksliai žinoti tai, kas, kad skaičius buvo atmintyje. 296 00:16:05,560 --> 00:16:10,650 >> Dabar galiu tai leisti programa toliau žaisti iki jo vykdymo pabaigos 297 00:16:10,650 --> 00:16:12,570 pataikyti CV. 298 00:16:12,570 --> 00:16:16,410 Mes matome, kad labai greitai Ar programa apdaila vykdant 299 00:16:16,410 --> 00:16:19,790 su tuo pačiu išėjimo, kad mes turėjo ir anksčiau, debugeris užsidaro, 300 00:16:19,790 --> 00:16:23,170 o dabar ši programa nustojo visiškai. 301 00:16:23,170 --> 00:16:25,320 >> I rodo, kad tik už tikslai pamatyti, ką 302 00:16:25,320 --> 00:16:27,280 atsitinka, kai mes iš tikrųjų nukentėjo CV. 303 00:16:27,280 --> 00:16:30,640 Bet mes iš tikrųjų ketiname norite grįžti į šią programą 304 00:16:30,640 --> 00:16:33,820 kad galėtume bandyti derinti Būtent tai, kas vyksta. 305 00:16:33,820 --> 00:16:37,980 Dabar, kad aš naudoju debugger, aš gali nereikia šiuos derinimo printf atskaitomybę. 306 00:16:37,980 --> 00:16:43,860 >> Taigi galėčiau juos pašalinti, kaip aš darysiu dabar tik grįžti į mūsų paprastesniu kodas 307 00:16:43,860 --> 00:16:45,950 kad mes turėjome prieš momentas. 308 00:16:45,950 --> 00:16:48,790 Dabar, kai aš išgelbėti programuoti ir vykdyti, 309 00:16:48,790 --> 00:16:53,700 ji vėl eiti į tą pradinį pertraukos tašką, kad man teko on-line 11 d. 310 00:16:53,700 --> 00:16:57,700 Ir aš gebėti apžiūrėti Mano kintamieji, kaip aš noriu daryti. 311 00:16:57,700 --> 00:17:00,695 >> Jis tiesiog taip atsitinka, kad ši dalis nėra labai įdomus, 312 00:17:00,695 --> 00:17:04,364 Ir aš žinau, kad aš ruošiuosi spausdinti šį pareiškimą. 313 00:17:04,364 --> 00:17:05,280 Prašome įvesti numerį. 314 00:17:05,280 --> 00:17:08,099 Ir tada aš žinau, kad aš ruošiuosi paprašyti tos sveikojo skaičiaus vartotoją. 315 00:17:08,099 --> 00:17:13,329 Taigi, galbūt, aš iš tikrųjų noriu perkelti savo pertrauka taškas šiek tiek toliau. 316 00:17:13,329 --> 00:17:16,710 >> Galite pašalinti atkovoti spustelėdami, vėlgi, tiesiogiai 317 00:17:16,710 --> 00:17:18,460 tos linijos numeris kairę. 318 00:17:18,460 --> 00:17:22,200 Tai red dot "išnyks, nurodant kad pertrauka punktas dabar dingo. 319 00:17:22,200 --> 00:17:24,780 Dabar šiuo atveju, vykdymas buvo sustabdytas. 320 00:17:24,780 --> 00:17:27,770 Ir taip jis nėra iš tikrųjų ketiname atnaujinti toje konkrečiu atveju. 321 00:17:27,770 --> 00:17:30,210 Bet aš galiu nustatyti pertraukos šiek tiek vėliau punktą. 322 00:17:30,210 --> 00:17:33,880 >> Ir kai dabar aš vėl mano kodas, jis bus atnaujintas, ir pasakyti 323 00:17:33,880 --> 00:17:36,190 tos pertraukos taškas. 324 00:17:36,190 --> 00:17:37,374 Vėlgi, aš paspauskite Tęsti. 325 00:17:37,374 --> 00:17:39,040 Neatrodo kaip nieko, kas vyksta. 326 00:17:39,040 --> 00:17:41,450 Bet tai, nes mano kodas laukia įvesties. 327 00:17:41,450 --> 00:17:47,900 Aš įveskite numerį 5, paspauskite Enter, ir dabar kita pertrauka taškas bus hit. 328 00:17:47,900 --> 00:17:50,570 >> Dabar, šiuo atveju, šis yra kodo eilutę 329 00:17:50,570 --> 00:17:53,820 kad prieš, mes žinojome, atsitiko Buggy. 330 00:17:53,820 --> 00:17:57,590 Taigi leiskite įvertinti, kas atsitinka, šiuo konkrečiu metu. 331 00:17:57,590 --> 00:18:02,620 Kai linija pabrėžta, ši linija dar nebuvo įvykdytas. 332 00:18:02,620 --> 00:18:06,490 Taigi, šiuo atveju, galime matyti kad aš turiu numerį, 333 00:18:06,490 --> 00:18:11,610 Turiu sveikasis skaičius, vadinamas Num, kas turi vertę 5. 334 00:18:11,610 --> 00:18:15,090 Ir aš ruošiuosi būti atlikti kai tą skaičių matematikos. 335 00:18:15,090 --> 00:18:20,130 >> Jei aš peržengti, kad mes galime Atkreipkite dėmesį, kad už num vertę 336 00:18:20,130 --> 00:18:23,780 pakeitė laikantis aritmetinis, kad mes iš tikrųjų padaryta. 337 00:18:23,780 --> 00:18:26,810 Ir dabar, kad mes esame viduje tai už kilpos 338 00:18:26,810 --> 00:18:29,090 ar dabar, kad už kilpos pati pabrėžė, 339 00:18:29,090 --> 00:18:32,450 matome, kad turime naują kintamasis vadinamas i, kad 340 00:18:32,450 --> 00:18:35,370 vyksta būti naudojamas, kad kilpa. 341 00:18:35,370 --> 00:18:38,230 >> Dabar prisiminti, kad aš prieš paminėjo, kad kartais esate 342 00:18:38,230 --> 00:18:43,470 ketiname pamatyti šiek tiek crazy natūra numeriai kaip numatytąją prieš šio skaičiaus 343 00:18:43,470 --> 00:18:45,530 arba kad kintamasis yra iš tikrųjų inicializuoti. 344 00:18:45,530 --> 00:18:49,040 Mes matome, kad būtent čia šį kintamąjį 345 00:18:49,040 --> 00:18:51,345 vadinamas i, kuris neturi dar buvo inicijuoti 346 00:18:51,345 --> 00:18:53,560 tuo pabrėžti laiko. 347 00:18:53,560 --> 00:18:57,070 Tačiau matome, kad ji turi tam tikrą skaičių kad mes ne iš tikrųjų tikėtis. 348 00:18:57,070 --> 00:18:57,620 >> Tai gerai. 349 00:18:57,620 --> 00:18:59,661 Nesijaudinkite apie tai nes mes turime ne iš tikrųjų 350 00:18:59,661 --> 00:19:04,970 inicializuoti šį numerį iki I žingsnis virš šios linijos ir vertę, 351 00:19:04,970 --> 00:19:08,560 Aš buvo inicijuoti prie vertės 1 d. 352 00:19:08,560 --> 00:19:11,400 Taigi matyti, kad tai iš tikrųjų atveju, tegul peržengti. 353 00:19:11,400 --> 00:19:14,420 Mes dabar matome, kad ši linija buvo įvykdytas. 354 00:19:14,420 --> 00:19:17,000 Ir dabar mes išryškinti tai printf linija. 355 00:19:17,000 --> 00:19:22,230 >> Ir dabar mes matome, kaip mūsų vertybes I ir 3 pasikeitė laikui bėgant. 356 00:19:22,230 --> 00:19:26,450 Tai labai naudinga, iš tikrųjų, yra peržengti linijos pakartotinai. 357 00:19:26,450 --> 00:19:30,480 Ir jūs galite rasti tai, ko iš tikrųjų atsitinka viduje jūsų už kilpos 358 00:19:30,480 --> 00:19:33,660 ir kas atsitinka su kintamieji viduje, kad kilpa 359 00:19:33,660 --> 00:19:39,200 kaip tos programos vykdymą atsiranda vienas žingsnis metu. 360 00:19:39,200 --> 00:19:41,110 >> Dabar šiuo metu, aš peržengė tik pakankamai 361 00:19:41,110 --> 00:19:44,210 kad aš dabar esu ne iš mano programos pabaigoje. 362 00:19:44,210 --> 00:19:46,980 Jei aš peržengti, kad jis bus iš tikrųjų nutraukti vykdymą 363 00:19:46,980 --> 00:19:48,860 kaip matėme praeityje. 364 00:19:48,860 --> 00:19:52,110 Leiskite man iš naujo tai, dar kartą, todėl kad galiu atkreipti kažkas iš, 365 00:19:52,110 --> 00:19:53,320 taip pat. 366 00:19:53,320 --> 00:19:55,350 >> Šiuo atveju, ji yra dabar klausia manęs, vėlgi, 367 00:19:55,350 --> 00:19:57,100 už skaičių, kuris Aš vėl įvesti. 368 00:19:57,100 --> 00:20:00,300 Bet šį kartą, aš ruošiuosi įvesti didesnį skaičių taip, kad už kilpos 369 00:20:00,300 --> 00:20:02,540 bus pakartoti kelis kartus. 370 00:20:02,540 --> 00:20:06,090 Šiuo atveju, aš ruošiuosi įvesti reikšmė yra 11. 371 00:20:06,090 --> 00:20:08,390 >> Dabar vėl, nes aš nustatyti pertrauka taško, esančio 15 eilutėje, 372 00:20:08,390 --> 00:20:10,490 jis ketina pažymėkite tą eilutę. 373 00:20:10,490 --> 00:20:12,980 Mes matome, kad mūsų numeris 11 yra teisingai 374 00:20:12,980 --> 00:20:15,560 atstovaujama mūsų vietinių kintamųjų. 375 00:20:15,560 --> 00:20:22,460 Kovos daugiau, kad dabar mes galime žiūrėti, kas atsitinka su mūsų verte i 376 00:20:22,460 --> 00:20:25,680 kaip mes pereisime viduje tai už kilpa. 377 00:20:25,680 --> 00:20:31,960 Ji gauna didinamas kiekvieną kartą, kai mes pasiekti, kad viršuje kilpa. 378 00:20:31,960 --> 00:20:35,110 >> Dabar vienas iš dalykų, kurie gali būti naudinga padaryti vykdymo metu 379 00:20:35,110 --> 00:20:40,490 Šios programos yra man iš tikrųjų pakeisti kintamųjų Vidurys upės pamatyti 380 00:20:40,490 --> 00:20:42,450 kas atsitinka su mano programa. 381 00:20:42,450 --> 00:20:46,540 Šiuo atveju, galiu iš tikrųjų dukart spustelėkite vertę. 382 00:20:46,540 --> 00:20:48,040 Atkreipkite dėmesį, kad tai tampa teksto laukas. 383 00:20:48,040 --> 00:20:50,280 >> Dabar galiu įvesti skiriasi Vertiname viso 384 00:20:50,280 --> 00:20:55,700 pamatyti, kaip mano programa elgiasi kai aš pasikeitė, kad kintamasis. 385 00:20:55,700 --> 00:20:59,560 Dabar, šiuo atveju, kintamasis Aš dabar yra vertę 10. 386 00:20:59,560 --> 00:21:02,810 Bet programa yra vis dar sustabdytas vykdymo metu. 387 00:21:02,810 --> 00:21:07,610 Kai aš peržengti, matau, kad vertė i, kurios aš įvesta kaip 10, 388 00:21:07,610 --> 00:21:12,170 yra ne didesnis nei ke verte, kuris iš karto sukelia for ciklas 389 00:21:12,170 --> 00:21:14,240 sustabdyti vykdymą. 390 00:21:14,240 --> 00:21:16,210 >> Dabar tai ne tik priežastis, kodėl jums būtų 391 00:21:16,210 --> 00:21:19,450 nori pakeisti kintamąjį į vietą. 392 00:21:19,450 --> 00:21:22,210 Jūs iš tikrųjų norėti bandyti jį pakeisti taip, 393 00:21:22,210 --> 00:21:24,590 kad galite tęsti vykdymas kilpa 394 00:21:24,590 --> 00:21:27,370 arba tiek, kad jūs galite pakeisti kai prieš jį vertė 395 00:21:27,370 --> 00:21:32,630 pasiekia tam tikrą konkretų rinkinį aritmetika kad jūs ketinate atlikti. 396 00:21:32,630 --> 00:21:36,210 >> Taigi dabar, kad mes iš tikrųjų keisti I vertė, kaip programos vykdė, 397 00:21:36,210 --> 00:21:39,540 jis sukėlė for ciklas mesti per anksti, nes visi staiga, aš 398 00:21:39,540 --> 00:21:42,770 įvyko būtų didesnė, negu vertė NUM, tai reiškia, kad už kilpos 399 00:21:42,770 --> 00:21:45,410 nebereikia būti įvykdytas. 400 00:21:45,410 --> 00:21:48,780 Be to, tai atsitiko būti atvejis, kad mes pakeitėme I vertė, 401 00:21:48,780 --> 00:21:53,270 kai linija 17 buvo pabrėžta, kuris buvo momentas 402 00:21:53,270 --> 00:21:56,280 kad už kilpos vykdymo buvo faktiškai vertinamos. 403 00:21:56,280 --> 00:22:00,210 >> Jeigu aš pakeitė vertę Aš kitame linijos, tarkim 19, 404 00:22:00,210 --> 00:22:03,360 mes matėme skiriasi elgesys, nes eilutė 19 būtų 405 00:22:03,360 --> 00:22:08,310 įvykdė prieš kilpa sąlyga buvo perkainotas. 406 00:22:08,310 --> 00:22:11,900 Dabar šioje vietoje, aš, vėlgi, šio programos pabaigoje. 407 00:22:11,900 --> 00:22:15,707 Ir aš galiu tai leisti plaukti į leidžia mano programa mesti natūraliai. 408 00:22:15,707 --> 00:22:18,290 Bet yra pora dalykų kad yra svarbu atimti 409 00:22:18,290 --> 00:22:19,960 iš šios diskusijos. 410 00:22:19,960 --> 00:22:22,490 Jūs turite įvertinti jūsų pačių prielaidos 411 00:22:22,490 --> 00:22:24,710 apie tai, kaip kodas, turėtų būti elgiasi. 412 00:22:24,710 --> 00:22:28,220 Bet kuriuo metu jūs manote, kad kai kūrinys nuo kodas žinote atsitinka dirbti, 413 00:22:28,220 --> 00:22:30,940 kad gali būti raudona vėliava eiti atgal ir įvertinti, ir būti tikri, 414 00:22:30,940 --> 00:22:33,470 kad jūsų prielaida kaip tas kodas veikia 415 00:22:33,470 --> 00:22:38,290 iš tikrųjų tiesa, kaip ji yra išreiškė savo kodo. 416 00:22:38,290 --> 00:22:41,300 >> Bet dar klausimas buvo, kai mes naudojame debugerem, 417 00:22:41,300 --> 00:22:43,920 galite įdėti ribines vertes ne skirtingų eilučių kodo, 418 00:22:43,920 --> 00:22:48,110 kuris bus sukelti į debugerem sustabdyti vykdymą ne kiekvienas iš šių linijų 419 00:22:48,110 --> 00:22:52,210 kad galite įvertinti atmintis arba net pakeisti jį į vietą. 420 00:22:52,210 --> 00:22:55,630 Ir vėl, nepamirškite, kad jūs galite sukurti kelis ribines vertes taip, kad jūs 421 00:22:55,630 --> 00:23:00,390 Taip pat galite atnaujinti vykdymą, praleiskite per didelių porcijų kodas, 422 00:23:00,390 --> 00:23:04,790 ir jis bus automatiškai sustabdyti kitame lūžio tašką. 423 00:23:04,790 --> 00:23:07,760 >> Yra iš tikrųjų labiau pažengęs bruožai išriktuotojo, taip pat. 424 00:23:07,760 --> 00:23:10,170 Bet mes turime nukreipti jus kai vėlesnių video 425 00:23:10,170 --> 00:23:14,090 tam tikrai erzinti išskyrus kaip naudoti šiuos konkrečius funkcijas. 426 00:23:14,090 --> 00:23:15,990 Nes dabar, ačiū labai daug žiūri. 427 00:23:15,990 --> 00:23:18,080 Ir geros kloties derinimo.