1 00:00:00,000 --> 00:00:00,309 2 00:00:00,309 --> 00:00:02,350 [? DAN ARMADARAS:?] Hi, Jien [? Dan Armadaras?]. 3 00:00:02,350 --> 00:00:04,410 Illum, aħna qed tmur biex tkun tħares lejn debugging. 4 00:00:04,410 --> 00:00:06,697 Mhux biss ser nieħdu jitkellmu dwar xi teknika, 5 00:00:06,697 --> 00:00:09,280 imma wkoll aħna qed tmur biex tħares lejn wħud mill-karatteristiċi li jinsabu 6 00:00:09,280 --> 00:00:14,170 fi ħdan il-IDE CS50 li jippermettu inti faċilment debug programm. 7 00:00:14,170 --> 00:00:16,272 >> Biss eżempju wieħed ta ' xi ħaġa li tista 'tmur ħażin 8 00:00:16,272 --> 00:00:18,730 u huwa attwalment xi ħaġa li konna diġà rajna qabel. 9 00:00:18,730 --> 00:00:23,200 F'dan il-każ, dan huwa programm C li taċċetta integer mill-utent, 10 00:00:23,200 --> 00:00:27,580 jaqsam it tnejn, u jipprovdi l-output lura lill-utent. 11 00:00:27,580 --> 00:00:30,610 Issa minn dak Rajna aktar kmieni fil lectures, 12 00:00:30,610 --> 00:00:34,370 nafu li dan fil-fatt se jikkawżaw tipi speċifiċi ta 'problemi diviżjoni 13 00:00:34,370 --> 00:00:35,860 meta jkollna numri bil-fard. 14 00:00:35,860 --> 00:00:40,330 >> Speċifikament, aħna ser biss armih xejn wara l-punt deċimali. 15 00:00:40,330 --> 00:00:43,170 Issa, aħna nafu li dan jiġri li jkun il-każ. 16 00:00:43,170 --> 00:00:47,430 U jekk aħna run, nistgħu nikkonfermaw suspetti tagħna, minn naħa, billi kompilazzjoni. 17 00:00:47,430 --> 00:00:50,460 U mbagħad, billi jorganizza u jidħlu numru fard. 18 00:00:50,460 --> 00:00:51,720 >> Dan huwa xejn ġdid. 19 00:00:51,720 --> 00:00:54,490 Iżda dan huwa attwalment Eżempju ta 'bug li 20 00:00:54,490 --> 00:00:58,810 jista 'jeżisti fi ħdan programm akbar li ssir aktar diffiċli biex jillokalizzaw. 21 00:00:58,810 --> 00:01:02,640 Anki jekk aħna nafu x'inhi l-kwistjoni jiġifieri, il-qofol tal-kwistjoni vera 22 00:01:02,640 --> 00:01:06,250 jista 'jkun jippruvaw jidentifikaw speċifikament fejn l-iżball iseħħ, 23 00:01:06,250 --> 00:01:09,750 jidentifika dak li problema huwa, u mbagħad iffissar. 24 00:01:09,750 --> 00:01:14,400 Allura jipprovdu dan bħala eżempju ta 'dak li jista' jkun xi ħaġa 25 00:01:14,400 --> 00:01:19,030 li aħna diġà jafu iżda jistgħu jiġu midfuna fi ħdan elementi oħra tal-kodiċi. 26 00:01:19,030 --> 00:01:23,090 >> Allura ftuħ dan is-sors ieħor fajl kodiċi bħala eżempju, 27 00:01:23,090 --> 00:01:27,165 din il-problema diviżjoni issa huwa parti minn programm ikbar. 28 00:01:27,165 --> 00:01:29,040 Still jista 'jkun ftit bit artifiċjali, u aħna 29 00:01:29,040 --> 00:01:31,076 jista 'jkun kapaċi li faċilment identifikata, speċjalment 30 00:01:31,076 --> 00:01:32,450 peress li aħna qed biss jiddiskutu din. 31 00:01:32,450 --> 00:01:38,250 Iżda nistgħu insemmu li din problema tista 'teżisti fuq skala akbar. 32 00:01:38,250 --> 00:01:45,450 >> Jekk I jiġbor dan u issa run, jidħol numru fard, 33 00:01:45,450 --> 00:01:49,816 nistgħu naraw li aħna ma jsibux preċiżament l-output li aħna jista 'jkollhom mistenni. 34 00:01:49,816 --> 00:01:51,690 F'dan il-każ partikolari, nistgħu ngħidu li aħna 35 00:01:51,690 --> 00:01:56,060 tixtieq li jgħoddu kollha tan-numri minn wieħed sa ċertu numru speċifiku. 36 00:01:56,060 --> 00:01:58,130 U nistgħu naraw li aħna għandhom varjetà ta 'kwistjonijiet 37 00:01:58,130 --> 00:02:03,880 hawn jekk aħna qed outputting, sempliċiment, 0 u 1 meta aħna jipprovdu input ta '5. 38 00:02:03,880 --> 00:02:07,380 >> Allura aħna diġà jafu li hemm problema hawn. 39 00:02:07,380 --> 00:02:11,662 Iżda aħna ma jkunu jafu bi preċiżjoni fejn din il-kwistjoni fil-fatt teżisti. 40 00:02:11,662 --> 00:02:13,620 Issa wieħed mill-modi li nistgħu nippruvaw biex jiffissaw dan 41 00:02:13,620 --> 00:02:15,745 hija xi ħaġa li konna diġà ġew introdotti biex. 42 00:02:15,745 --> 00:02:18,880 Nistgħu tagħmel użu minnha biss fuq skala akbar. 43 00:02:18,880 --> 00:02:21,680 >> Fuq il-linja 14, għandna din il-funzjoni printf, 44 00:02:21,680 --> 00:02:25,620 li jippermetti li jistampa l-istat ta 'diversi biċċiet ta' informazzjoni. 45 00:02:25,620 --> 00:02:28,880 U din hija xi ħaġa li inti għandhom lieva fil-programm tiegħek 46 00:02:28,880 --> 00:02:33,100 biex tipprova insemmu eżattament x'hemm jiġri fil-linji differenti ta 'kodiċi. 47 00:02:33,100 --> 00:02:36,350 Għalhekk anki jekk dan ma jkunx il- output finali li għandna attwalment 48 00:02:36,350 --> 00:02:39,830 tixtieq li jipproduċu barra mill dan il-programm, aħna xorta 49 00:02:39,830 --> 00:02:42,300 jista 'jkollha xi debug dikjarazzjonijiet fejn aħna 50 00:02:42,300 --> 00:02:46,970 tista 'tipprova ċifra barra preċiżament dak li qed jiġri ġewwa tal-kodiċi tagħna. 51 00:02:46,970 --> 00:02:51,210 >> Allura f'dan il-każ, I se printf mal-tag debug. 52 00:02:51,210 --> 00:02:53,540 F'dan il-każ, dan huwa biss string debug 53 00:02:53,540 --> 00:02:56,840 li jien up-tqegħid sabiex issir ċar ħafna fil-produzzjoni tal-kodiċi tiegħi 54 00:02:56,840 --> 00:02:59,200 liema huwa li nixtieq li juru. 55 00:02:59,200 --> 00:03:04,410 U l-produzzjoni hawn in-numru li għandna komputat. 56 00:03:04,410 --> 00:03:06,800 >> F'dan il-każ, I jista trid tkun taf preċiżament 57 00:03:06,800 --> 00:03:11,380 dak li qed jiġri qabel u wara xi komputazzjoni speċifiku. 58 00:03:11,380 --> 00:03:16,224 So I tista 'tuża printf qabel u wara dik il-linja tal-kodiċi. 59 00:03:16,224 --> 00:03:18,640 F'dan il-każ, I jistgħu anki jagħmilha ftit aktar ċara 60 00:03:18,640 --> 00:03:21,960 billi qal debug qabel u debug wara hekk 61 00:03:21,960 --> 00:03:26,540 li jien ma jikkonfondi myself ma ' linji multipli li tfittex identiċi. 62 00:03:26,540 --> 00:03:32,290 >> Issa jekk aħna recompile dan u run dan, niżżel numru bħall ħamsa mill-ġdid, 63 00:03:32,290 --> 00:03:35,090 nistgħu naraw li għandna issa output qabel u wara 64 00:03:35,090 --> 00:03:40,670 u ssib li aħna ma jsir ċar diviżjoni jew ċara li n-numru 65 00:03:40,670 --> 00:03:43,680 li aħna fil-fatt tixtieq li tagħmel. 66 00:03:43,680 --> 00:03:48,660 Issa f'dan il-każ, dan huwa mhux verament output ċara. 67 00:03:48,660 --> 00:03:52,440 Mhuwiex verament riżultat ċar li irridu minn dan il-programm partikolari. 68 00:03:52,440 --> 00:03:54,427 >> U dan huwa, għal darb'oħra, a ftit artifiċjali. 69 00:03:54,427 --> 00:03:57,510 Iżda, forsi, waħda mill-affarijiet li stajna nagħmlu jekk l-ispeċifikazzjoni qal 70 00:03:57,510 --> 00:04:01,900 li aħna rridu li jaqsmu dan billi 2 u żid 1-- hekk fi kliem ieħor, 71 00:04:01,900 --> 00:04:04,550 irridu li jarrotondaw up-- imbagħad nistgħu nafu li nistgħu 72 00:04:04,550 --> 00:04:08,060 tagħmel dan ħaġa partikolari, f'dan il-każ. 73 00:04:08,060 --> 00:04:14,010 Issa hawnhekk nafu li se nkunu kapaċi li jżidu 1 sa numru bin-nofs tagħna. 74 00:04:14,010 --> 00:04:16,490 >> Ejja recompile dan u tikkonferma li din 75 00:04:16,490 --> 00:04:18,860 qiegħedx iġib ruħu l-mod li aħna jixtiequ. 76 00:04:18,860 --> 00:04:21,980 Nistgħu naraw li issa qabel li, aħna għandna l-numru 5. 77 00:04:21,980 --> 00:04:26,620 Wara li, aħna għandna l-numru 3, li skond l-ispeċifikazzjoni tagħna, 78 00:04:26,620 --> 00:04:29,292 huwa dak li aħna riedu jagħmlu. 79 00:04:29,292 --> 00:04:31,000 Iżda jekk inħarsu lejn il- output hawn, nistgħu 80 00:04:31,000 --> 00:04:33,760 tara li aħna jista 'jkollhom ieħor bug kollox, li huwa 81 00:04:33,760 --> 00:04:36,940 li aħna qed jibdew għadd tagħna minn 0. 82 00:04:36,940 --> 00:04:39,390 >> Issa darb'oħra, din hija xi ħaġa li rajna fil-passat 83 00:04:39,390 --> 00:04:42,500 u nistgħu tiffissa pjuttost faċilment. 84 00:04:42,500 --> 00:04:44,790 Iżda f'dan il-każ, aħna kellhom ukoll il-benefiċċju 85 00:04:44,790 --> 00:04:48,940 tintuża l-istqarrija printf direttament ġewwa tal-linja għall 86 00:04:48,940 --> 00:04:52,930 li jkunu jafu preċiżament fejn dan l-iżball kien sseħħ. 87 00:04:52,930 --> 00:04:55,150 Dikjarazzjonijiet hekk printf huma utli ħafna biex tgħin 88 00:04:55,150 --> 00:04:57,940 inti jiddeterminaw fejn, preċiżament fil-kodiċi sors tiegħek, 89 00:04:57,940 --> 00:05:00,620 żball speċifiku qed isseħħ. 90 00:05:00,620 --> 00:05:03,650 >> U huwa wkoll importanti li tirrealizza li, kif aħna qed miktub kodiċi, 91 00:05:03,650 --> 00:05:06,052 aħna jista 'jkollhom suppożizzjonijiet dwar l-istat ta 'programm. 92 00:05:06,052 --> 00:05:08,510 Jew aħna jista 'jkollhom suppożizzjonijiet dwar liema parti tal-programm 93 00:05:08,510 --> 00:05:13,020 huwa attwalment eżatta jew żbaljata meta aktar tard kif aħna nibnu fuq dak il-programm 94 00:05:13,020 --> 00:05:15,950 u jagħmilha parti minn kumpless u l-programm akbar 95 00:05:15,950 --> 00:05:19,700 li niftakru li xi aspett ta 'li huwa attwalment Buggy. 96 00:05:19,700 --> 00:05:22,680 >> Bl-użu printf jista 'verament tgħin iċekknu u tidentifika 97 00:05:22,680 --> 00:05:26,430 ir-reġjuni ta 'programm li ma jistax jiġu iġib ruħu eżattament il-mod li aħna 98 00:05:26,430 --> 00:05:29,500 jistennew, ibbażat fuq suppożizzjonijiet tagħna. 99 00:05:29,500 --> 00:05:31,460 Iżda hemm għodod oħrajn disponibbli, kif ukoll, 100 00:05:31,460 --> 00:05:34,860 li jippermettu magħna biex tipprova figura fejn isir żball li jseħħu 101 00:05:34,860 --> 00:05:39,930 u wkoll, speċifikament, liema affarijiet qed jiġri ġewwa tal-programm. 102 00:05:39,930 --> 00:05:41,990 >> Hekk billi tuża printf huwa ferm meta meħtieġa rridu 103 00:05:41,990 --> 00:05:45,900 li jiġu identifikati oqsma ta ' programm li għandhom xi bug. 104 00:05:45,900 --> 00:05:47,730 Iżda huwa wkoll isir tedious wara ftit żmien. 105 00:05:47,730 --> 00:05:50,500 F'dan il-każ, dan huwa programm relattivament sempliċi 106 00:05:50,500 --> 00:05:52,750 ma waħda biss jew tnejn varjabbli. 107 00:05:52,750 --> 00:05:57,260 U li jsir faċli ħafna għalina li jistampa l-valur ta 'dawk varjabbli 108 00:05:57,260 --> 00:05:59,670 fil-kuntest tal-programm akbar. 109 00:05:59,670 --> 00:06:02,670 >> Iżda aħna jista 'jkollhom differenti programm li għandu ħafna fatturi varjabbli. 110 00:06:02,670 --> 00:06:06,530 U jista 'ma jkunx pjuttost daqshekk faċli biex jintużaw printf 111 00:06:06,530 --> 00:06:10,120 li tipprova tevalwa dak li qed jiġri lil kull waħda minn dawk il-varjabbli 112 00:06:10,120 --> 00:06:13,590 bħala l-programm huwa ta 'eżekuzzjoni. 113 00:06:13,590 --> 00:06:16,960 Hemm programm li teżisti imsejħa programm debugger. 114 00:06:16,960 --> 00:06:20,320 F'dan il-każ, il-wieħed li aħna se użu huwa l-debugger GNU, jew GDB, 115 00:06:20,320 --> 00:06:24,260 li jippermetti li jispezzjonaw l-intern ħidma ta 'programm fi ħafna aktar 116 00:06:24,260 --> 00:06:25,700 mod dettaljat. 117 00:06:25,700 --> 00:06:28,810 >> Nistgħu ngħidu tesegwixxi GDB mill-linja tal-kmand 118 00:06:28,810 --> 00:06:35,370 hawn billi sempliċiment ittajpjar GDB u l kmand li aħna rridu li debug. 119 00:06:35,370 --> 00:06:37,550 F'dan il-każ, l-għadd. 120 00:06:37,550 --> 00:06:41,650 Issa f'dan il-każ, nistgħu naraw li dan iwassalna għall pront li tgħid GDB. 121 00:06:41,650 --> 00:06:44,020 U nistgħu attwalment tesegwixxi jikkmanda biex GDB 122 00:06:44,020 --> 00:06:48,260 li attwalment tibda l-eżekuzzjoni tal- programm, jitwaqqaf f'ċerti punti, 123 00:06:48,260 --> 00:06:51,060 tevalwa l-fatturi varjabbli u jispezzjonaw l-varjabbli li 124 00:06:51,060 --> 00:06:54,152 jeżistu fl-istat programm f'dak il-mument partikolari, 125 00:06:54,152 --> 00:06:55,110 u hekk u ibqa 'sejjer hekk. 126 00:06:55,110 --> 00:06:57,240 Hija tipprovdi ħafna ta 'enerġija lilna. 127 00:06:57,240 --> 00:06:59,960 >> Iżda huwa biss hekk jiġri li l-IDE CS50 wkoll 128 00:06:59,960 --> 00:07:05,870 jipprovdi GUI jew utent interface għal GDB li 129 00:07:05,870 --> 00:07:11,120 jippermetti li jagħmlu dan mingħajr il-bżonn l-interface kmand tal-linja tkun xi tkun 130 00:07:11,120 --> 00:07:13,560 jew għal kollox saħansitra. 131 00:07:13,560 --> 00:07:16,930 Il-mod li nista 'aċċess li huwa billi tuża l-buttuna debug 132 00:07:16,930 --> 00:07:20,120 fuq nett tal-IDE CS50. 133 00:07:20,120 --> 00:07:24,280 Issa fil-passat, dak li għandna tidher hija li nużaw il-kmand 134 00:07:24,280 --> 00:07:27,660 linja li tiġbor u mbagħad tmexxi programm. 135 00:07:27,660 --> 00:07:29,790 >> Il-buttuna debug ma kemm ta 'dawk il-passi. 136 00:07:29,790 --> 00:07:34,380 Iżda huwa wkoll se jġib l- tab debugger fuq-lemin 137 00:07:34,380 --> 00:07:38,280 li jippermetti li jispezzjonaw varjetà tal-proprjetajiet tal-programm 138 00:07:38,280 --> 00:07:40,500 kif huwa esekuzzjoni. 139 00:07:40,500 --> 00:07:44,280 Jekk I ikklikkja debug, f'dan każ, se jtella 140 00:07:44,280 --> 00:07:48,230 ġdid tab fil-console tieqa fil-qiegħ nett. 141 00:07:48,230 --> 00:07:51,160 >> U tista 'tara li dan tab għandu xi informazzjoni fuq nett. 142 00:07:51,160 --> 00:07:52,670 U nistgħu aktar jinjora dan. 143 00:07:52,670 --> 00:07:54,800 Iżda waħda mill-affarijiet li aħna rridu li avviż 144 00:07:54,800 --> 00:07:57,170 huwa li outputs l-istess ħaġa li aħna 145 00:07:57,170 --> 00:08:03,000 se tikseb jekk aħna ppruvaw biex imexxu jagħmlu fuq il-programm C fit-tieqa terminal. 146 00:08:03,000 --> 00:08:06,230 >> Hawnhekk, nistgħu naraw huwa taħdem clang, u għandha varjetà ta 'bnadar, 147 00:08:06,230 --> 00:08:12,660 u huwa kumpilazzjoni fajl count.c tagħna, li kien il-tab magħżul fiż-żmien 148 00:08:12,660 --> 00:08:15,100 li I hit debug. 149 00:08:15,100 --> 00:08:18,010 Allura dan huwa utli ħafna għaliex issa jużaw din il-buttuna debug, 150 00:08:18,010 --> 00:08:23,280 nistgħu simultanjament tiġbor u mbagħad tesegwixxi l-programm li għandna attwalment 151 00:08:23,280 --> 00:08:24,460 tixtieq li tmexxi. 152 00:08:24,460 --> 00:08:27,880 >> Waħda mill-bnadar li huwa importanti, f'dan il-każ, 153 00:08:27,880 --> 00:08:30,190 konna attwalment qed tuża għall-itwal żmien 154 00:08:30,190 --> 00:08:32,450 iżda wkoll biss ma xi naħa waving [inaudible], li 155 00:08:32,450 --> 00:08:33,820 huwa dan wieħed dritt hawn. 156 00:08:33,820 --> 00:08:35,790 Fil clang, jgħid -ggdb3. 157 00:08:35,790 --> 00:08:38,570 158 00:08:38,570 --> 00:08:41,250 F'dan il-każ, dak li aħna javżak clang, kompilatur tagħna, 159 00:08:41,250 --> 00:08:43,820 hija li aħna rridu li jikkompilaw programm tagħna. 160 00:08:43,820 --> 00:08:46,810 Imma wkoll jipprovdu x'inhuma imsejħa informazzjoni simbolu 161 00:08:46,810 --> 00:08:50,940 sabiex il-kumpilatur attwalment għandha aċċess għal ħafna mill-informazzjoni bażika 162 00:08:50,940 --> 00:08:52,610 jinsabu fi ħdan il-programm. 163 00:08:52,610 --> 00:08:55,260 >> B'mod aktar speċifiku, l-għadd ta 'funzjonijiet li għandi, 164 00:08:55,260 --> 00:08:58,000 l-ismijiet ta 'dawk il-funzjonijiet, varjabbli, it-tipi 165 00:08:58,000 --> 00:09:01,730 li dawk il-varjabbli huma, u l-varjetà ta 'affarijiet oħra li jgħinu l-debugger 166 00:09:01,730 --> 00:09:04,350 iwettaq operazzjoni tagħha. 167 00:09:04,350 --> 00:09:06,600 Issa hemm xi ħaġa oħra li l-importanti li wieħed isemmi 168 00:09:06,600 --> 00:09:10,280 meta aħna qed jiddiskutu running programm b'dan il-mod. 169 00:09:10,280 --> 00:09:13,660 >> Avviż li hija għandha fil-fatt aġġornati ġdid tab fil tagħna console 170 00:09:13,660 --> 00:09:14,780 tul il-qiegħ. 171 00:09:14,780 --> 00:09:18,600 Aħna m'għadx għandhom jinteraġixxu direttament mal-tieqa terminal. 172 00:09:18,600 --> 00:09:21,420 Iżda dan tab ġdid huwa attwalment tieqa terminal. 173 00:09:21,420 --> 00:09:26,710 Huwa biss hija speċifika għat-tmexxija programm li ħloqna. 174 00:09:26,710 --> 00:09:29,270 >> Avviż li fil-qiegħ, fl flimkien ma 'xi produzzjoni 175 00:09:29,270 --> 00:09:33,500 mill clang l kumpilatur u GDB, li nistgħu aktar jinjora, 176 00:09:33,500 --> 00:09:37,570 fil-fatt turi l-output ta ' programm tagħna fil-qiegħ nett. 177 00:09:37,570 --> 00:09:41,240 Issa huwa importanti li tirrealizza li dan il-tieqa wieħed fil-fatt 178 00:09:41,240 --> 00:09:43,360 juruk l- produzzjoni mill-programm tiegħek 179 00:09:43,360 --> 00:09:47,190 iżda wkoll tista 'taċċetta input għal dak il-programm, kif ukoll. 180 00:09:47,190 --> 00:09:49,260 >> Allura avviż li jgħid jekk jogħġbok niżżel numru, 181 00:09:49,260 --> 00:09:53,050 li hija l-istess produzzjoni li kellna kellhom fit-tieqa terminal qabel. 182 00:09:53,050 --> 00:09:55,510 Imma huwa issa muri f'dan tab ġdid. 183 00:09:55,510 --> 00:09:56,550 I tista 'input numru. 184 00:09:56,550 --> 00:10:00,900 U fil-fatt se funzjoni kif aħna nistennew 185 00:10:00,900 --> 00:10:05,890 juru us debug tagħna, output, l-output li jista 'jkun Buggy, 186 00:10:05,890 --> 00:10:07,010 kif konna rajna qabel. 187 00:10:07,010 --> 00:10:10,460 U fil-qiegħ nett, hija fil-fatt għandha xi output addizzjonali 188 00:10:10,460 --> 00:10:14,550 mill-PGD biss qal li dan il-programm ikun temm. 189 00:10:14,550 --> 00:10:16,655 >> Issa kif inti raw f'dan partikolari run permezz, 190 00:10:16,655 --> 00:10:19,370 ma kienx partikolarment utli minħabba li, anki 191 00:10:19,370 --> 00:10:23,740 għalkemm kellna l-menu debugger jiġu up, dan kien għadu programm korrenti. 192 00:10:23,740 --> 00:10:26,790 Fl-ebda punt ma kien fil-fatt nieqaf eżekuzzjoni għalina 193 00:10:26,790 --> 00:10:30,767 biex ikunu jistgħu jispezzjonaw kollha il-varjabbli li jinsabu ġewwa. 194 00:10:30,767 --> 00:10:32,850 Hemm xi ħaġa oħra li għandna nagħmlu sabiex 195 00:10:32,850 --> 00:10:36,910 biex jiksbu GDB li jirrikonoxxu li aħna rridu biex nieqaf eżekuzzjoni tal-programm 196 00:10:36,910 --> 00:10:42,820 u mhux biss tippermetti li tipproċedi normalment kif aħna kieku fi kwalunkwe każ ieħor. 197 00:10:42,820 --> 00:10:45,530 >> Sabiex nieqaf eżekuzzjoni, f'xi linja speċifika, 198 00:10:45,530 --> 00:10:47,830 għandna bżonn li jinħoloq x'hemm imsejħa punt tal-qasma. 199 00:10:47,830 --> 00:10:52,670 U punt waqfa huwa faċilment maħluqa f'dan CS50 IDE billi jieħdu maws 200 00:10:52,670 --> 00:10:57,090 u tikklikkja direttament lejn ix-xellug ta 'xi numru linja speċifika. 201 00:10:57,090 --> 00:10:59,920 Ladarba I tagħmel dan, tikka ħamra jidher, li jindika 202 00:10:59,920 --> 00:11:02,300 li dan l issa huwa punt waqfa. 203 00:11:02,300 --> 00:11:07,540 >> U l-ħin li jmiss li I run GDB, huwa se tieqaf eżekuzzjoni f'dak break-punt 204 00:11:07,540 --> 00:11:10,280 meta jilħaq dik il-linja tal-kodiċi. 205 00:11:10,280 --> 00:11:12,230 Issa dan huwa importanti ħaġa li tirrealizza 206 00:11:12,230 --> 00:11:16,140 li mhuwiex neċessarjament l- każ li kull linja tal-kodiċi 207 00:11:16,140 --> 00:11:17,880 huwa attwalment aċċessibbli. 208 00:11:17,880 --> 00:11:23,780 I Jekk kellhom joħolqu funzjoni up here, għal f-- null example-- 209 00:11:23,780 --> 00:11:31,230 u biss tagħmel linja print here-- bonjour world-- jekk I qatt sejħa din il-funzjoni, 210 00:11:31,230 --> 00:11:34,770 se jkun il-każ li, jekk I tistabbilixxi punt tal-qasma hawn, 211 00:11:34,770 --> 00:11:36,220 il-funzjoni qatt mhu se tkun imsejħa. 212 00:11:36,220 --> 00:11:38,310 U għalhekk, dan partikolari punt tal-qasma 213 00:11:38,310 --> 00:11:43,040 qatt se attwalment nieqaf eżekuzzjoni tal-programm. 214 00:11:43,040 --> 00:11:48,020 >> Mela ejja ngħidu li jien korrett joħolqu punt waqfa fuq xi linja tal-kodiċi 215 00:11:48,020 --> 00:11:50,340 li fil-fatt ser jiġi eżegwit. 216 00:11:50,340 --> 00:11:53,470 Issa f'dan il-każ, dan huwa l- ewwel linja fil-funzjoni prinċipali. 217 00:11:53,470 --> 00:11:56,630 Għalhekk żgur li se jkun il-każ li, hekk kif nibda eżekuzzjoni, 218 00:11:56,630 --> 00:11:58,580 l-ewwel linja se jintlaħaq. 219 00:11:58,580 --> 00:12:00,230 GDB se nieqaf eżekuzzjoni. 220 00:12:00,230 --> 00:12:04,100 U mbagħad, I se jkunu jistgħu jinteraġixxu ma 'l-debugger. 221 00:12:04,100 --> 00:12:08,480 >> Tista 'tissettja linji multipli kif breakpoints, jekk inti tixtieq. 222 00:12:08,480 --> 00:12:11,365 Nistgħu wkoll tinħoloq linja up hawn f'dan is-segment tal-kodiċi 223 00:12:11,365 --> 00:12:12,490 li qatt mhu se jintlaħaq. 224 00:12:12,490 --> 00:12:14,744 U nistgħu wkoll sett wieħed aktar 'l isfel. 225 00:12:14,744 --> 00:12:16,660 Ir-raġuni li aħna se tixtieq li tagħmel dan aħna ser 226 00:12:16,660 --> 00:12:19,119 jmorru fi ftit aktar dettall fil ftit mument. 227 00:12:19,119 --> 00:12:21,660 Allura għal issa, let me biss jiskonnettja dawn il-punti waqfa addizzjonali 228 00:12:21,660 --> 00:12:24,940 sabiex inkunu nistgħu nħarsu lejn dak li jiġri meta I jkollhom waħda break wieħed 229 00:12:24,940 --> 00:12:27,650 punt fil-programm tiegħi. 230 00:12:27,650 --> 00:12:29,410 I għamlu xi bidliet għal dan il-programm. 231 00:12:29,410 --> 00:12:30,750 So I bżonn biex isalvawh. 232 00:12:30,750 --> 00:12:34,490 I se ikklikkja debug sabiex I tista tibda l-kumpilazzjoni u mbagħad 233 00:12:34,490 --> 00:12:36,880 eżekuzzjoni tal-debugger. 234 00:12:36,880 --> 00:12:40,632 >> Aħna se tara li, wara mumenti, l- linja li aħna magħżula bħala l-break 235 00:12:40,632 --> 00:12:43,360 punt huwa enfasizzat bl-isfar. 236 00:12:43,360 --> 00:12:47,440 Nistgħu wkoll avviż li fil- dritt ta 'fuq fil-panel debug 237 00:12:47,440 --> 00:12:50,940 li l-ikona pause daret fi icon play ftit. 238 00:12:50,940 --> 00:12:54,710 Dan ifisser li għandna nieqaf eżekuzzjoni, f'dan il-każ partikolari. 239 00:12:54,710 --> 00:12:57,840 U laqtu l-buttuna Play ikun inessu biex jerġa 'jibda l-eżekuzzjoni 240 00:12:57,840 --> 00:13:00,000 f'dak il-punt speċifiku. 241 00:13:00,000 --> 00:13:03,240 >> Avviż li hemm koppja ta 'oħrajn buttuni disponibbli f'dan panel debug, 242 00:13:03,240 --> 00:13:04,220 kif ukoll. 243 00:13:04,220 --> 00:13:09,470 Pass fuq, li tippermetti lili biex tesegwixxi dik il-linja waħda tal-kodiċi 244 00:13:09,470 --> 00:13:14,030 u pass fuq dik il-linja mal- wieħed li jmiss, li, f'dan il-każ, 245 00:13:14,030 --> 00:13:17,060 ikun ifisser li l-printf dikjarazzjoni hija esegwita. 246 00:13:17,060 --> 00:13:22,310 U mbagħad se nieqaf eżekuzzjoni fuq il-linja 13, bħal hekk. 247 00:13:22,310 --> 00:13:25,090 >> U hemm ukoll pass fil-funzjoni, li 248 00:13:25,090 --> 00:13:28,950 huwa utli jekk I ħolqu oħra funzjonijiet bnadi oħra fil-kodiċi tas-sors. 249 00:13:28,950 --> 00:13:31,420 U nixtieq li pass lejn dawk il-funzjonijiet aktar milli 250 00:13:31,420 --> 00:13:33,050 tesegwixxi dik il-funzjoni kollha kemm hi. 251 00:13:33,050 --> 00:13:37,279 Iżda aħna ser tħares aktar fil-pass fil-funzjoni fi ftit mument. 252 00:13:37,279 --> 00:13:40,320 Issa Avviż xi affarijiet oħra li attwalment jeżistu fi ħdan dan il-panel debug. 253 00:13:40,320 --> 00:13:44,110 >> Għandna din panel imsejjaħ il- sejħa munzell, li jurina 254 00:13:44,110 --> 00:13:45,300 fejn eżattament aħna. 255 00:13:45,300 --> 00:13:48,550 F'dan il-każ, aħna ġewwa tal-funzjoni prinċipali. 256 00:13:48,550 --> 00:13:50,880 Iskrittura tagħna hija msejħa count.c. 257 00:13:50,880 --> 00:13:53,820 U aħna jiġri li jkun fuq linja 13, kolonna waħda, li 258 00:13:53,820 --> 00:13:58,950 huwa preċiżament dak ir-reġjun enfasizzati tas-source code jindika, ukoll. 259 00:13:58,950 --> 00:14:02,435 >> Issa avviż li dan juri wkoll taħt it-taqsima varjabbli lokali 260 00:14:02,435 --> 00:14:06,710 il-varjabbli kollha li jeżistu fi ħdan din il-funzjoni. 261 00:14:06,710 --> 00:14:08,930 Huwa importanti li wieħed jinnota li kollha tal-varjabbli 262 00:14:08,930 --> 00:14:12,580 se jidhru f'dan varjabbli lokali taqsima fi ħdan funzjoni, 263 00:14:12,580 --> 00:14:14,380 anki qabel ma huma definiti. 264 00:14:14,380 --> 00:14:19,160 Nistgħu naraw hawnhekk li għandna varjabbli imsejħa num, ikollu valur default ta '0, 265 00:14:19,160 --> 00:14:21,280 u huwa ta 'int tip. 266 00:14:21,280 --> 00:14:24,110 >> Issa qabel we attwalment initialize kollha ta 'dawn il-varjabbli, 267 00:14:24,110 --> 00:14:26,685 aħna mhux qed neċessarjament garantit biex tara valur ta '0. 268 00:14:26,685 --> 00:14:29,200 U jiddependi fuq l-eżekuzzjonijiet oħra li inti għandek mwettqa 269 00:14:29,200 --> 00:14:32,020 u l-istat ta 'memorja tiegħek meta inti fil-fatt tmexxi dan il-programm, 270 00:14:32,020 --> 00:14:34,605 inti tista 'ssib li inti ma tara valuri ta '0 271 00:14:34,605 --> 00:14:36,550 u, minflok, xi numri crazy oħra. 272 00:14:36,550 --> 00:14:38,390 >> Imma ma joqogħdu jinkwetaw dwar dan. 273 00:14:38,390 --> 00:14:44,610 Huwa mhux se tkun rilevanti sakemm inti fil-fatt initialize-valur. 274 00:14:44,610 --> 00:14:49,630 Issa f'dan il-każ, nistgħu naraw li I wettqu xi riżultati. 275 00:14:49,630 --> 00:14:52,131 U jien, id-dritt issa, waqfa qasira eżekuzzjoni. 276 00:14:52,131 --> 00:14:53,880 Iżda f'dan il-każ, liema I really jixtiequ jagħmlu 277 00:14:53,880 --> 00:14:58,060 huwa li issa pass fuq din il-linja ta 'kodiċi sabiex I tista' attwalment 278 00:14:58,060 --> 00:15:04,390 query l-utent għal dak int li irridu li jużaw fil-programm tagħna. 279 00:15:04,390 --> 00:15:07,060 >> Issa f'dan il-każ, meta I hit pass fuq, avviż 280 00:15:07,060 --> 00:15:11,940 li l Pause jew pjuttost il Resume buttuna inbidlet għal din il-buttuna Pause 281 00:15:11,940 --> 00:15:14,022 għaliex din il-kodiċi huwa attwalment esekuzzjoni. 282 00:15:14,022 --> 00:15:15,730 X'inhu jiġri dritt issa hija li huwa 283 00:15:15,730 --> 00:15:21,630 stennija għalina biex input xi informazzjoni kif nistgħu naraw mill-test output tagħna 284 00:15:21,630 --> 00:15:23,600 fil-qiegħ nett. 285 00:15:23,600 --> 00:15:25,787 >> Allura issa dritt, dan huwa mhux attwalment waqfa qasira, 286 00:15:25,787 --> 00:15:28,620 anki jekk, tip ta ', jidher li jkun minħabba li xejn qed jiġri. 287 00:15:28,620 --> 00:15:32,360 Iżda huwa biss hekk jiġri li fil każ speċifiku tiegħi fuq il-linja 13, 288 00:15:32,360 --> 00:15:34,210 Jien stennija għall-input utent. 289 00:15:34,210 --> 00:15:39,130 U għalhekk GDB ma tkunx tista 'tispezzjona programm kif tkun qed taħdem. 290 00:15:39,130 --> 00:15:43,370 >> Issa l-ħin li jmiss li I jidħlu xi input-- so I ser jidħol dak in-numru 5, 291 00:15:43,370 --> 00:15:46,140 kif aħna stajt tidher fil- past-- hit Ritorn, u aħna 292 00:15:46,140 --> 00:15:51,430 Avviż li, immedjatament, pauses GDB u, għal darb'oħra, jenfasizza l-linja li jmiss. 293 00:15:51,430 --> 00:15:55,320 Imma avviż li issa, bħala riżultat ta inputjar tagħna valur, 294 00:15:55,320 --> 00:15:58,930 Aħna aġġornati dak il-valur ġewwa ta 'varjabbli lokali tagħna, li 295 00:15:58,930 --> 00:16:05,560 huwa utli ħafna li jkunu jafu preċiżament dak li numru kien fil-memorja. 296 00:16:05,560 --> 00:16:10,650 >> Now I jistgħu jippermettu dan il-programm li jkompli playing sal-aħħar tal-eżekuzzjoni tagħha 297 00:16:10,650 --> 00:16:12,570 billi jolqot Resume. 298 00:16:12,570 --> 00:16:16,410 Nistgħu naraw li malajr ħafna ma l-finitura programm eżekuzzjoni 299 00:16:16,410 --> 00:16:19,790 bl-istess output li aħna kellhom qabel, il-debugger jagħlaq, 300 00:16:19,790 --> 00:16:23,170 u issa dan il-programm jkun waqaf kompletament. 301 00:16:23,170 --> 00:16:25,320 >> I juru li biss għall- finijiet ta 'jaraw dak 302 00:16:25,320 --> 00:16:27,280 jiġri meta aħna attwalment hit Resume. 303 00:16:27,280 --> 00:16:30,640 Iżda aħna fil-fatt se tixtieq li tmur lura fis dan il-programm 304 00:16:30,640 --> 00:16:33,820 sabiex inkunu nistgħu nippruvaw debug preċiżament dak li qed jiġri. 305 00:16:33,820 --> 00:16:37,980 Issa li jien jużaw l-debugger, I jistgħu m'għandekx bżonn dawn id-dikjarazzjonijiet printf debug. 306 00:16:37,980 --> 00:16:43,860 >> So I tista 'tneħħi lilhom kif se nagħmel issa biss li jmorru lura għall-kodiċi sempliċi tagħna 307 00:16:43,860 --> 00:16:45,950 li kellna mument ilu. 308 00:16:45,950 --> 00:16:48,790 Issa meta I isalva l- programm u esegwit, 309 00:16:48,790 --> 00:16:53,700 se, għal darb'oħra, tmur f'dak inizjali break punt li kelli fuq il-linja 11. 310 00:16:53,700 --> 00:16:57,700 U jien ser tkun kapaċi li jispezzjonaw varjabbli tiegħi bħala I trid tagħmel. 311 00:16:57,700 --> 00:17:00,695 >> Huwa biss hekk jiġri li din parti mhux interessanti ħafna, 312 00:17:00,695 --> 00:17:04,364 U naf li jien ser biex jistampa din l-istqarrija. 313 00:17:04,364 --> 00:17:05,280 Jekk jogħġbok daħħal numru. 314 00:17:05,280 --> 00:17:08,099 U mbagħad, naf li jien ser li titlob lill-utent għal dak integer. 315 00:17:08,099 --> 00:17:13,329 Hekk forsi, I attwalment jridux jimxu tiegħi break punt ftit aktar 'l isfel. 316 00:17:13,329 --> 00:17:16,710 >> Inti tista 'tneħħi punti waqfa billi tikklikkja, għal darb'oħra, direttament 317 00:17:16,710 --> 00:17:18,460 lejn ix-xellug ta 'dik l-għadd linja. 318 00:17:18,460 --> 00:17:22,200 Li tikka ħamra se jisparixxu, li jindika li dan break-punt issa hija marret. 319 00:17:22,200 --> 00:17:24,780 Issa f'dan il-każ, eżekuzzjoni tkun ġiet waqfa qasira. 320 00:17:24,780 --> 00:17:27,770 U dan mhuwiex fil-fatt se jerġa f'dak il-każ partikolari. 321 00:17:27,770 --> 00:17:30,210 Imma I tista 'tistabbilixxi waqfa punt a ftit aktar tard. 322 00:17:30,210 --> 00:17:33,880 >> U meta I issa jerġa tiegħi kodiċi, se tkompli u tgħid 323 00:17:33,880 --> 00:17:36,190 il-punt ta 'dan break-punt. 324 00:17:36,190 --> 00:17:37,374 Għal darb'oħra, I hit Resume. 325 00:17:37,374 --> 00:17:39,040 Ma tidhirx bħal xejn qed jiġri. 326 00:17:39,040 --> 00:17:41,450 Iżda dan għaliex tiegħi kodiċi qed jistenna għall-input. 327 00:17:41,450 --> 00:17:47,900 I se jidħol numru 5, hit Ikteb, u issa l-punt tal-qasma li jmiss se jintlaqtu. 328 00:17:47,900 --> 00:17:50,570 >> Issa f'dan il-każ, din huwa l-linja tal-kodiċi 329 00:17:50,570 --> 00:17:53,820 li, qabel, aħna kien jaf li jkun ġara Buggy. 330 00:17:53,820 --> 00:17:57,590 Mela ejja jevalwa dak li jiġri f'dan il-punt parikolari. 331 00:17:57,590 --> 00:18:02,620 Meta linja hija enfasizzata, dan linja għadha ma ġietx eżegwita. 332 00:18:02,620 --> 00:18:06,490 Allura f'dan il-każ, nistgħu naraw li għandi numru, li 333 00:18:06,490 --> 00:18:11,610 Għandi integer imsejħa num li għandu valur 5. 334 00:18:11,610 --> 00:18:15,090 U jien ser tkun qed tagħmel xi matematika fuq dak in-numru. 335 00:18:15,090 --> 00:18:20,130 >> Jekk I pass fuq li, nistgħu avviż li l-valur għall-num 336 00:18:20,130 --> 00:18:23,780 nbidlet skond il- aritmetika li konna attwalment isir. 337 00:18:23,780 --> 00:18:26,810 U issa li aħna ġewwa ta 'dan għal loop 338 00:18:26,810 --> 00:18:29,090 jew issa li l-linja ta nnifisha hija enfasizzata, 339 00:18:29,090 --> 00:18:32,450 naraw li għandna ġdida varjabbli imsejjaħ i li 340 00:18:32,450 --> 00:18:35,370 se jintuża f'dik għal loop. 341 00:18:35,370 --> 00:18:38,230 >> Issa ftakar qabel li jien semma li kultant int 342 00:18:38,230 --> 00:18:43,470 ser tara xi tip ta 'crazy numri bħala default qabel dak in-numru 343 00:18:43,470 --> 00:18:45,530 jew dak il-varjabbli hija fil-fatt initialized. 344 00:18:45,530 --> 00:18:49,040 Nistgħu naraw li preċiżament hawn f'dan il-varjabbli 345 00:18:49,040 --> 00:18:51,345 imsejħa i, li ma jkunx ġewx initialized 346 00:18:51,345 --> 00:18:53,560 fiż-żmien li jenfasizzaw. 347 00:18:53,560 --> 00:18:57,070 Iżda nistgħu naraw li għandha xi numru li aħna ma attwalment jistennew. 348 00:18:57,070 --> 00:18:57,620 >> Li OK. 349 00:18:57,620 --> 00:18:59,661 Tinkwetax dwar dan għaliex aħna ma attwalment 350 00:18:59,661 --> 00:19:04,970 initialized dak in-numru sal I pass fuq il-linja u l-valur 351 00:19:04,970 --> 00:19:08,560 i kien initialized għall-valur 1. 352 00:19:08,560 --> 00:19:11,400 Allura biex tara li dan huwa attwalment il-każ, ejja pass fuq. 353 00:19:11,400 --> 00:19:14,420 Aħna issa tista 'tara li dan linja tkun ġiet eżegwita. 354 00:19:14,420 --> 00:19:17,000 U aħna issa qegħdin jenfasizzaw din il-linja printf. 355 00:19:17,000 --> 00:19:22,230 >> U aħna issa tista 'tara kif il-valuri tagħna ta 'i u 3 inbidlu maż-żmien. 356 00:19:22,230 --> 00:19:26,450 Dan huwa utli ħafna li tagħmel, fil-fatt, huwa pass fuq linji ripetutament. 357 00:19:26,450 --> 00:19:30,480 U inti tista 'ssib dak attwalment jiġri ġewwa tal għat loop tiegħek 358 00:19:30,480 --> 00:19:33,660 u dak li jiġri għall- varjabbli ġewwa ta 'li għal loop 359 00:19:33,660 --> 00:19:39,200 bħal dik eżekuzzjoni tal-programm iseħħ pass wieħed fi żmien. 360 00:19:39,200 --> 00:19:41,110 >> Issa f'dan il-punt, I intensifikati fuq biss biżżejjed 361 00:19:41,110 --> 00:19:44,210 li I issa am fl-aħħar tal-programm tiegħi. 362 00:19:44,210 --> 00:19:46,980 Jekk I pass fuq li, se fil-fatt jieqfu eżekuzzjoni 363 00:19:46,980 --> 00:19:48,860 kif rajna fil-passat. 364 00:19:48,860 --> 00:19:52,110 Let me terġa 'tibda dan, għal darb'oħra, hekk li nista 'jiġi xi ħaġa oħra barra, 365 00:19:52,110 --> 00:19:53,320 kif ukoll. 366 00:19:53,320 --> 00:19:55,350 >> F'dan il-każ, huwa issa tistaqsi lili, għal darb'oħra, 367 00:19:55,350 --> 00:19:57,100 għal numru, li I se, għal darb'oħra, jidħlu. 368 00:19:57,100 --> 00:20:00,300 Iżda dan iż-żmien, jien ser jidħlu fis numru akbar sabiex il-linja ta 369 00:20:00,300 --> 00:20:02,540 se jtenni darbiet aktar. 370 00:20:02,540 --> 00:20:06,090 F'dan il-każ, jien ser li jidħlu valur ta '11. 371 00:20:06,090 --> 00:20:08,390 >> Issa mill-ġdid minħabba I d sett punt waqfa fil-linja 15, 372 00:20:08,390 --> 00:20:10,490 li għaddej biex jenfasizzaw dik il-linja. 373 00:20:10,490 --> 00:20:12,980 Nistgħu naraw li tagħna Numru 11 huwa korrett 374 00:20:12,980 --> 00:20:15,560 rappreżentati fil-varjabbli lokali tagħna. 375 00:20:15,560 --> 00:20:22,460 Titjib fuq dan, nistgħu issa watch x'jiġri valur tagħna ta 'i 376 00:20:22,460 --> 00:20:25,680 kif aħna tipproċedi ġewwa ta 'dan għall loop. 377 00:20:25,680 --> 00:20:31,960 Jiġrilha inkrementat kull darba we tilħaq il-quċċata ta 'li għal loop. 378 00:20:31,960 --> 00:20:35,110 >> Issa waħda mill-affarijiet li jistgħu jkun utli li jagħmlu waqt l-eżekuzzjoni 379 00:20:35,110 --> 00:20:40,490 ta 'dan il-programm huwa għalija li fil-fatt jibdlu l-midstream varjabbli biex tara 380 00:20:40,490 --> 00:20:42,450 dak li jiġri għall-programm tiegħi. 381 00:20:42,450 --> 00:20:46,540 F'dan il-każ, nista attwalment ikklikkja darbtejn il-valur. 382 00:20:46,540 --> 00:20:48,040 Avviż li din issir qasam tat-test. 383 00:20:48,040 --> 00:20:50,280 >> Issa nista 'jidħol differenti valur għal kollox 384 00:20:50,280 --> 00:20:55,700 biex tara kif program tiegħi iġib ruħu meta stajt inbidlet dak il-varjabbli. 385 00:20:55,700 --> 00:20:59,560 Issa f'dan il-każ, il-varjabbli i issa fih il-valur 10. 386 00:20:59,560 --> 00:21:02,810 Iżda l-programm għadu waqfa qasira fl-eżekuzzjoni. 387 00:21:02,810 --> 00:21:07,610 Meta I pass fuq, nara li l- i valur, li I daħal bħala 10, 388 00:21:07,610 --> 00:21:12,170 ma tkunx ikbar mill-valur tal num, li immedjatament tikkawża l għall loop 389 00:21:12,170 --> 00:21:14,240 biex tieqaf esekuzzjoni. 390 00:21:14,240 --> 00:21:16,210 >> Issa li mhux l-uniku raġuni għaliex inti 391 00:21:16,210 --> 00:21:19,450 tixtieq li timmodifika l-varjabbli fil-post. 392 00:21:19,450 --> 00:21:22,210 Inti tista 'attwalment jridu biex jippruvaw jimmodifikaw hekk 393 00:21:22,210 --> 00:21:24,590 inti tista 'tkompli eżekuzzjoni ta 'loop 394 00:21:24,590 --> 00:21:27,370 jew sabiex inti tista 'timmodifika xi valur quddiemu 395 00:21:27,370 --> 00:21:32,630 jilħaq xi sett speċifiku ta 'aritmetika li inti ser iwettqu. 396 00:21:32,630 --> 00:21:36,210 >> Allura issa li għandna attwalment ibiddlu l- valur ta 'i bħala l-programm kien ta' eżekuzzjoni, 397 00:21:36,210 --> 00:21:39,540 ikkawżat l għal loop biex nieqaf qabel iż-żmien minħabba, kollha f'daqqa, i 398 00:21:39,540 --> 00:21:42,770 ġara li jkun ikbar mill-valur tal num, li jfisser li li għal loop 399 00:21:42,770 --> 00:21:45,410 m'għadhomx meħtieġa li għandhom jitwettqu. 400 00:21:45,410 --> 00:21:48,780 Barra minn hekk, dan ġara li jkun il- każ li aħna biddel il-valur ta 'i 401 00:21:48,780 --> 00:21:53,270 meta l-linja 17 ġiet enfasizzata, li kien il-punt fiż-żmien 402 00:21:53,270 --> 00:21:56,280 li l-eżekuzzjoni loop kien fil-fatt qed jiġu evalwati. 403 00:21:56,280 --> 00:22:00,210 >> Jekk I kienu nbidlu l-valur tal i fuq linja differenti, jiġifieri 19, 404 00:22:00,210 --> 00:22:03,360 aħna raw differenti imġieba minħabba line 19 kieku 405 00:22:03,360 --> 00:22:08,310 eżegwiti qabel il-linja kundizzjoni ġiet reevaluated. 406 00:22:08,310 --> 00:22:11,900 Issa f'dan il-punt, jien, għal darb'oħra, fl-aħħar ta dan il-programm. 407 00:22:11,900 --> 00:22:15,707 U nista 'jippermettu li dan jipproċedi għal jippermettu programm tiegħi biex nieqaf naturali. 408 00:22:15,707 --> 00:22:18,290 Iżda hemm ftit affarijiet li huma importanti għal take away 409 00:22:18,290 --> 00:22:19,960 minn din id-diskussjoni partikolari. 410 00:22:19,960 --> 00:22:22,490 Ikollok bżonn biex tevalwa assunzjonijiet tiegħek 411 00:22:22,490 --> 00:22:24,710 dwar kif il-kodiċi għandu jkun iġib ruħu. 412 00:22:24,710 --> 00:22:28,220 Kwalunkwe ħin li inti taħseb li xi biċċa tal-kodiċi inti taf jiġri għax-xogħol, 413 00:22:28,220 --> 00:22:30,940 li jista 'jkun bandiera ħamra li jmorru lura u tevalwa, u kun żgur 414 00:22:30,940 --> 00:22:33,470 din il-preżunzjoni tiegħek ta kif dan il-kodiċi qed topera 415 00:22:33,470 --> 00:22:38,290 huwa fil-fatt veru li kif huwa espressi fil-kodiċi sors tiegħek. 416 00:22:38,290 --> 00:22:41,300 >> Iżda anke aktar il-punt kien, meta aħna qed jużaw l-debugger, 417 00:22:41,300 --> 00:22:43,920 inti tista 'tpoġġi breakpoints fuq linji differenti ta 'kodiċi, 418 00:22:43,920 --> 00:22:48,110 li se tikkawża l debugger li nieqaf eżekuzzjoni f'kull wieħed minn dawk linji 419 00:22:48,110 --> 00:22:52,210 sabiex inti tista 'tevalwa l- memorja jew saħansitra l-bidla fil-post. 420 00:22:52,210 --> 00:22:55,630 U għal darb'oħra, ftakar li inti tista ' joħolqu breakpoints multipli sabiex inti 421 00:22:55,630 --> 00:23:00,390 tista 'wkoll jerġa eżekuzzjoni, aqbeż fuq porzjonijiet kbar ta 'kodiċi, 422 00:23:00,390 --> 00:23:04,790 u dan ser nieqaf awtomatikament fil-punt tal-qasma li jmiss. 423 00:23:04,790 --> 00:23:07,760 >> Hemm fil-fatt aktar avvanzati karatteristiċi tal-debugger, kif ukoll. 424 00:23:07,760 --> 00:23:10,170 Iżda aħna ser ikollhom biex jirreferik li xi videos sussegwenti 425 00:23:10,170 --> 00:23:14,090 sabiex verament tease apparti kif tuża dawk il-funzjonijiet partikolari. 426 00:23:14,090 --> 00:23:15,990 Għal issa, nirringrazzjak ħafna għall-ħars. 427 00:23:15,990 --> 00:23:18,080 U debugging Xorti tajba.