1 00:00:00,000 --> 00:00:00,309 2 00:00:00,309 --> 00:00:02,350 [? DAN ARMADARAS:?] Hi, Nina [? Dan Armadaras?]. 3 00:00:02,350 --> 00:00:04,410 Leo, tunakwenda kuwa na kuangalia debugging. 4 00:00:04,410 --> 00:00:06,697 Si tu ni sisi kwenda majadiliano juu ya baadhi ya mbinu, 5 00:00:06,697 --> 00:00:09,280 lakini pia tunakwenda kuangalia baadhi ya vipengele zilizomo 6 00:00:09,280 --> 00:00:14,170 ndani ya CS50 IDE kwamba kuruhusu kwa urahisi Debug mpango. 7 00:00:14,170 --> 00:00:16,272 >> Mfano mmoja tu wa kitu ambacho kinaweza kwenda vibaya 8 00:00:16,272 --> 00:00:18,730 na ni kweli kitu kwamba tumekuwa tayari kuona mbele. 9 00:00:18,730 --> 00:00:23,200 Katika kesi hiyo, hii ni C mpango kwamba kupokea integer kutoka kwa mtumiaji, 10 00:00:23,200 --> 00:00:27,580 mgawanyiko ni wawili na hutoa pato nyuma kwa mtumiaji. 11 00:00:27,580 --> 00:00:30,610 Sasa kutokana na kile tumeona mapema katika mihadhara, 12 00:00:30,610 --> 00:00:34,370 Tunajua kwamba hii itakuwa kweli kusababisha aina maalum ya matatizo ya mgawanyiko 13 00:00:34,370 --> 00:00:35,860 wakati tuna idadi isiyo ya kawaida. 14 00:00:35,860 --> 00:00:40,330 >> Hasa, tutaweza tu kutupa mbali chochote baada ya uhakika decimal. 15 00:00:40,330 --> 00:00:43,170 Sasa, tunajua kwamba hii hutokea kwa kuwa kesi. 16 00:00:43,170 --> 00:00:47,430 Na kama sisi kukimbia, tunaweza kuthibitisha tuhuma zetu, kwanza, na kuandaa. 17 00:00:47,430 --> 00:00:50,460 Na kisha, kwa kuendesha na kuingia idadi isiyo ya kawaida. 18 00:00:50,460 --> 00:00:51,720 >> Hii ni kitu kipya. 19 00:00:51,720 --> 00:00:54,490 Lakini hii ni kweli Mfano wa mdudu kwamba 20 00:00:54,490 --> 00:00:58,810 unaweza kuwepo ndani ya mpango kubwa kwamba inakuwa vigumu kufuatilia chini. 21 00:00:58,810 --> 00:01:02,640 Hata ingawa sisi kujua nini suala ni, crux ya kweli ya jambo 22 00:01:02,640 --> 00:01:06,250 yapate kujaribu kutambua hasa ambapo kosa hutokea, 23 00:01:06,250 --> 00:01:09,750 kutambua nini tatizo ambalo ni, na kisha kurekebisha hayo. 24 00:01:09,750 --> 00:01:14,400 Hivyo kutoa hii kama mfano ya nini kinaweza kuwa kitu 25 00:01:14,400 --> 00:01:19,030 kwamba sisi tayari kujua lakini inaweza kuzikwa ndani ya mambo mengine ya kanuni. 26 00:01:19,030 --> 00:01:23,090 >> Hivyo kufungua chanzo hiki mengine kificho faili kama mfano, 27 00:01:23,090 --> 00:01:27,165 tatizo hili mgawanyiko ni sasa sehemu ya mpango kubwa. 28 00:01:27,165 --> 00:01:29,040 Bado inaweza kuwa ni kidogo kidogo contrived, na sisi 29 00:01:29,040 --> 00:01:31,076 kuwa na uwezo wa urahisi kutambua hilo, hasa 30 00:01:31,076 --> 00:01:32,450 tangu sisi ni kujadili tu hii. 31 00:01:32,450 --> 00:01:38,250 Lakini tunaweza kufikiri kuwa hii Tatizo unaweza kuwepo kwa kiwango kikubwa. 32 00:01:38,250 --> 00:01:45,450 >> Kama mimi kukusanya hii na sasa kukimbia, kuingia idadi isiyo ya kawaida, 33 00:01:45,450 --> 00:01:49,816 tunaweza kuona kwamba hatuwezi kupata just pato ili tupate kuwa na matarajio. 34 00:01:49,816 --> 00:01:51,690 Katika kesi hii, tunaweza kusema kwamba sisi 35 00:01:51,690 --> 00:01:56,060 wanataka kuhesabu wote wa idadi kutoka kwa mmoja hadi baadhi ya idadi maalum. 36 00:01:56,060 --> 00:01:58,130 Na tunaweza kuona kwamba sisi kuwa na aina ya masuala 37 00:01:58,130 --> 00:02:03,880 hapa kama sisi ni outputting, tu, 0 na 1 wakati sisi kutoa mchango wa 5. 38 00:02:03,880 --> 00:02:07,380 >> Kwa hiyo sisi tayari kujua kuwa kuna tatizo hapa. 39 00:02:07,380 --> 00:02:11,662 Lakini hatuwezi kujua hasa ambapo suala hili kweli lipo. 40 00:02:11,662 --> 00:02:13,620 Sasa ni moja ya njia ambazo tunaweza kujaribu kurekebisha hii 41 00:02:13,620 --> 00:02:15,745 ni kitu ambacho tumekuwa tayari imeanzishwa kwa. 42 00:02:15,745 --> 00:02:18,880 Tunaweza tu matumizi yake kwa kiwango kikubwa. 43 00:02:18,880 --> 00:02:21,680 >> On line 14, tuna hii kazi printf, 44 00:02:21,680 --> 00:02:25,620 ambayo inaruhusu sisi magazeti nje hali ya vipande mbalimbali wa habari. 45 00:02:25,620 --> 00:02:28,880 Na hii ni kitu ambacho lazima kujiinua ndani ya mpango wako 46 00:02:28,880 --> 00:02:33,100 kwa kujaribu kufikiri nini hasa ni kinachotokea katika mistari mbalimbali wa kanuni. 47 00:02:33,100 --> 00:02:36,350 Hivyo hata kama hii si matokeo ya mwisho kwamba sisi kweli 48 00:02:36,350 --> 00:02:39,830 wanataka kuzalisha nje ya mpango huu, sisi bado 49 00:02:39,830 --> 00:02:42,300 wanaweza kuwa na baadhi utatuzi kauli ambapo sisi 50 00:02:42,300 --> 00:02:46,970 Unaweza kujaribu kufikiri just nini kinachotokea ndani ya kificho yetu. 51 00:02:46,970 --> 00:02:51,210 >> Hivyo katika kesi hii, mimi printf na utatuzi tag. 52 00:02:51,210 --> 00:02:53,540 Katika kesi hiyo, hii ni kamba tu utatuzi 53 00:02:53,540 --> 00:02:56,840 kwamba mimi nina up-kuweka hivyo kwamba inakuwa wazi kabisa katika pato la kanuni yangu 54 00:02:56,840 --> 00:02:59,200 nini ni kwamba nataka kuonyesha. 55 00:02:59,200 --> 00:03:04,410 Na pato hapa idadi kwamba tuna computed. 56 00:03:04,410 --> 00:03:06,800 >> Katika kesi hiyo, mimi ili wanataka kujua hasa ni 57 00:03:06,800 --> 00:03:11,380 kile kinachotokea kabla na baada ya baadhi hesabu maalum. 58 00:03:11,380 --> 00:03:16,224 Hivyo mimi ili kutumia printf kabla na baada ya kuwa mstari wa kanuni. 59 00:03:16,224 --> 00:03:18,640 Katika kesi hiyo, mimi naweza hata kufanya wazi kidogo zaidi 60 00:03:18,640 --> 00:03:21,960 kwa kusema utatuzi kabla na utatuzi baada hivyo 61 00:03:21,960 --> 00:03:26,540 kwamba mimi si kuwachanganya mwenyewe na mistari mingi ili kuangalia kufanana. 62 00:03:26,540 --> 00:03:32,290 >> Sasa kama sisi recompile hii na kukimbia hivyo, kuingia idadi kama tano tena, 63 00:03:32,290 --> 00:03:35,090 tunaweza kuona kwamba tuna sasa pato kabla na baada ya 64 00:03:35,090 --> 00:03:40,670 na kupata kwamba hatujafanya wazi mgawanyiko au wazi kuwa idadi ya 65 00:03:40,670 --> 00:03:43,680 kwamba sisi kweli wanataka kufanya. 66 00:03:43,680 --> 00:03:48,660 Sasa katika kesi hii, hii ni si kweli pato wazi. 67 00:03:48,660 --> 00:03:52,440 Ni kweli matokeo wazi kuwa tunataka nje ya mpango huu hasa. 68 00:03:52,440 --> 00:03:54,427 >> Na hii ni, tena, kidogo contrived. 69 00:03:54,427 --> 00:03:57,510 Lakini, pengine, moja ya mambo ambayo tunaweza kufanya kama vipimo alisema 70 00:03:57,510 --> 00:04:01,900 kwamba tunataka kugawanya hii kwa 2 na kuongeza 1-- hivyo kwa maneno mengine, 71 00:04:01,900 --> 00:04:04,550 tunataka pande zote up-- kisha tuweze kujua kwamba tunaweza 72 00:04:04,550 --> 00:04:08,060 kufanya jambo fulani, katika kesi hii. 73 00:04:08,060 --> 00:04:14,010 Sasa hapa tunajua kwamba tutakuwa na uwezo wa kuongeza 1 na idadi yetu nusu. 74 00:04:14,010 --> 00:04:16,490 >> Hebu recompile hii na kuthibitisha kwamba hii 75 00:04:16,490 --> 00:04:18,860 ni tabia kwa njia hiyo tunataka. 76 00:04:18,860 --> 00:04:21,980 Tunaweza kuona kwamba sasa kabla kuwa, tuna namba 5. 77 00:04:21,980 --> 00:04:26,620 Baada ya kuwa, tuna namba 3, ambayo kwa mujibu wa vipimo wetu, 78 00:04:26,620 --> 00:04:29,292 ni nini sisi alitaka kufanya. 79 00:04:29,292 --> 00:04:31,000 Lakini kama sisi kuangalia pato hapa, tunaweza 80 00:04:31,000 --> 00:04:33,760 kuona kwamba tupate kuwa na mwingine mdudu kabisa, ambayo ni 81 00:04:33,760 --> 00:04:36,940 kwamba sisi ni mapya kuhesabu wetu kutoka 0. 82 00:04:36,940 --> 00:04:39,390 >> Sasa tena, hili ni jambo kuwa tumeona huko nyuma 83 00:04:39,390 --> 00:04:42,500 na tuweze kurekebisha kwa urahisi kabisa. 84 00:04:42,500 --> 00:04:44,790 Lakini katika kesi hii, sisi pia alikuwa na faida 85 00:04:44,790 --> 00:04:48,940 ya kutumia kauli printf moja kwa moja ndani ya kwa kitanzi 86 00:04:48,940 --> 00:04:52,930 kujua hasa ni wapi makosa ambayo yalikuwa yakifanyika. 87 00:04:52,930 --> 00:04:55,150 Kauli Hivyo printf ni muhimu sana katika kusaidia 88 00:04:55,150 --> 00:04:57,940 wewe kuamua wapi, hasa katika chanzo code yako, 89 00:04:57,940 --> 00:05:00,620 makosa maalum linajitokeza. 90 00:05:00,620 --> 00:05:03,650 >> Na pia ni muhimu kutambua kwamba, kama sisi ni kuandika kanuni, 91 00:05:03,650 --> 00:05:06,052 tupate kuwa na mawazo kuhusu hali ya mpango huo. 92 00:05:06,052 --> 00:05:08,510 Au tupate kuwa na mawazo kuhusu nini sehemu ya mpango 93 00:05:08,510 --> 00:05:13,020 ni kweli sahihi au sio sahihi wakati baadaye kama tunajenga mpango huo 94 00:05:13,020 --> 00:05:15,950 na kuifanya kuwa sehemu ya tata na mpango kubwa 95 00:05:15,950 --> 00:05:19,700 kwamba tunatambua kwamba baadhi ya nyanja ya kwamba ni kweli Buggy. 96 00:05:19,700 --> 00:05:22,680 >> Kutumia printf unaweza kweli kusaidia nyembamba chini na kubaini 97 00:05:22,680 --> 00:05:26,430 mikoa ya mpango ambayo inaweza isiwe kuwa na tabia hasa kwa njia hiyo sisi 98 00:05:26,430 --> 00:05:29,500 kutarajia, kulingana na mawazo yetu. 99 00:05:29,500 --> 00:05:31,460 Lakini kuna zana nyingine inapatikana, kama vile, 100 00:05:31,460 --> 00:05:34,860 kwamba kuruhusu sisi kujaribu takwimu nje ambapo makosa linajitokeza 101 00:05:34,860 --> 00:05:39,930 na pia, hasa, ni mambo yanayotokea ndani ya mpango. 102 00:05:39,930 --> 00:05:41,990 >> Hivyo kwa kutumia printf ni sana muhimu wakati tunataka 103 00:05:41,990 --> 00:05:45,900 kutambua maeneo maalum ya mpango huo una baadhi ya mdudu. 104 00:05:45,900 --> 00:05:47,730 Lakini pia inakuwa tedious baada ya muda. 105 00:05:47,730 --> 00:05:50,500 Katika kesi hiyo, hii ni Mpango rahisi 106 00:05:50,500 --> 00:05:52,750 na vigezo moja au mbili tu. 107 00:05:52,750 --> 00:05:57,260 Na inakuwa rahisi sana kwa sisi magazeti nje thamani ya vigezo wale 108 00:05:57,260 --> 00:05:59,670 katika mazingira ya mpango kubwa. 109 00:05:59,670 --> 00:06:02,670 >> Lakini tuwe na tofauti mpango huo ina vigezo vingi. 110 00:06:02,670 --> 00:06:06,530 Na inaweza kuwa kabisa rahisi kutumia printf 111 00:06:06,530 --> 00:06:10,120 kujaribu kufanya tathmini ya kile kinachotokea Kila mmoja vigezo wale 112 00:06:10,120 --> 00:06:13,590 kama mpango huo ni utekelezaji. 113 00:06:13,590 --> 00:06:16,960 Kuna mpango huo upo aitwaye mpango HatiJava. 114 00:06:16,960 --> 00:06:20,320 Katika kesi hiyo, moja kwamba sisi matumizi ni GNU HatiJava, au GDB, 115 00:06:20,320 --> 00:06:24,260 ambayo inaruhusu sisi kukagua ndani utendaji kazi wa mpango katika zaidi 116 00:06:24,260 --> 00:06:25,700 kina njia. 117 00:06:25,700 --> 00:06:28,810 >> Tunaweza kweli kutekeleza GDB kutoka mstari amri 118 00:06:28,810 --> 00:06:35,370 hapa kwa kifupi kuandika GDB na amri kwamba tunataka Debug. 119 00:06:35,370 --> 00:06:37,550 Katika kesi hiyo, kuhesabu. 120 00:06:37,550 --> 00:06:41,650 Sasa katika kesi hiyo, tunaweza kuona kwamba inatuleta haraka kwamba anasema GDB. 121 00:06:41,650 --> 00:06:44,020 Na tunaweza kweli kutekeleza amri ya GDB 122 00:06:44,020 --> 00:06:48,260 kwa kweli kuanza utekelezaji wa mpango, kuacha ni katika maeneo fulani, 123 00:06:48,260 --> 00:06:51,060 kutathmini vigezo na kukagua vigezo kwamba 124 00:06:51,060 --> 00:06:54,152 zipo katika hali mpango wakati huo fulani, 125 00:06:54,152 --> 00:06:55,110 na kadhalika na kadhalika. 126 00:06:55,110 --> 00:06:57,240 Ni hutoa mengi ya nguvu kwetu. 127 00:06:57,240 --> 00:06:59,960 >> Lakini tu hivyo hutokea kuwa IDE CS50 pia 128 00:06:59,960 --> 00:07:05,870 hutoa GUI au mtumiaji interface kwa GDB kwamba 129 00:07:05,870 --> 00:07:11,120 inaruhusu sisi kufanya hivyo bila wanaohitaji amri Mpya interface chochote 130 00:07:11,120 --> 00:07:13,560 au wakati wote hata. 131 00:07:13,560 --> 00:07:16,930 Njia ambayo mimi wanaweza kupata kwamba ni kwa kutumia utatuzi kifungo 132 00:07:16,930 --> 00:07:20,120 katika sana juu ya CS50 IDE. 133 00:07:20,120 --> 00:07:24,280 Sasa katika siku za nyuma, tuna nini kuonekana ni kwamba sisi kutumia amri 134 00:07:24,280 --> 00:07:27,660 mstari wa kukusanya na kisha kukimbia mpango. 135 00:07:27,660 --> 00:07:29,790 >> Kifungo utatuzi gani wote wawili wa hatua hizo. 136 00:07:29,790 --> 00:07:34,380 Lakini pia kuleta up HatiJava tabo juu ya haki mbali 137 00:07:34,380 --> 00:07:38,280 ambayo inaruhusu sisi kukagua aina ya mali ya mpango 138 00:07:38,280 --> 00:07:40,500 kama ni utekelezaji. 139 00:07:40,500 --> 00:07:44,280 Kama mimi bonyeza utatuzi, katika hii kesi, ni kuleta up 140 00:07:44,280 --> 00:07:48,230 tabo mpya katika console dirisha chini kabisa. 141 00:07:48,230 --> 00:07:51,160 >> Na unaweza kuona kwamba tabo hii ina baadhi ya taarifa juu sana. 142 00:07:51,160 --> 00:07:52,670 Na tunaweza kwa kiasi kikubwa kupuuza hii. 143 00:07:52,670 --> 00:07:54,800 Lakini moja ya mambo kwamba tunataka taarifa 144 00:07:54,800 --> 00:07:57,170 ni kwamba matokeo kitu kimoja kwamba sisi 145 00:07:57,170 --> 00:08:03,000 bila kupata kama sisi alijaribu kukimbia kufanya juu ya C A mpango dirisha wastaafu. 146 00:08:03,000 --> 00:08:06,230 >> Hapa, tunaweza kuona ni mbio Clang, na ina aina ya bendera, 147 00:08:06,230 --> 00:08:12,660 na ni kuandaa count.c faili wetu, ambayo ilikuwa tabo kuchaguliwa kwa wakati 148 00:08:12,660 --> 00:08:15,100 kwamba mimi kugonga utatuzi. 149 00:08:15,100 --> 00:08:18,010 Hivyo hii ni muhimu sana kwa sababu sasa kwa kutumia hii ya kifungo utatuzi, 150 00:08:18,010 --> 00:08:23,280 sisi wakati huo huo unaweza kukusanya na kisha kutekeleza mpango kwamba sisi kweli 151 00:08:23,280 --> 00:08:24,460 unataka kukimbia. 152 00:08:24,460 --> 00:08:27,880 >> Moja ya bendera kwamba ni muhimu, katika kesi hii, 153 00:08:27,880 --> 00:08:30,190 tumekuwa kweli wamekuwa wakitumia kwa muda mrefu 154 00:08:30,190 --> 00:08:32,450 lakini pia tu alifanya mkono baadhi kutikiswa [inaudible], ambayo 155 00:08:32,450 --> 00:08:33,820 ni hii moja hapa hapa. 156 00:08:33,820 --> 00:08:35,790 Katika Clang, inasema -ggdb3. 157 00:08:35,790 --> 00:08:38,570 158 00:08:38,570 --> 00:08:41,250 Katika kesi hiyo, ni nini sisi ni kuwaambia Clang, mkusanyaji yetu, 159 00:08:41,250 --> 00:08:43,820 ni kwamba tunataka kukusanya mpango wetu. 160 00:08:43,820 --> 00:08:46,810 Lakini pia kutoa kile ni ishara aitwaye maelezo 161 00:08:46,810 --> 00:08:50,940 ili compiler kweli wanapata kwa habari nyingi za msingi 162 00:08:50,940 --> 00:08:52,610 zilizomo ndani ya mpango huo. 163 00:08:52,610 --> 00:08:55,260 >> Zaidi hasa, idadi ya kazi kwamba mimi, 164 00:08:55,260 --> 00:08:58,000 majina ya kazi hizo, vigezo, aina 165 00:08:58,000 --> 00:09:01,730 kwamba vigezo wale ni, na aina ya mambo mengine ambayo itasaidia HatiJava 166 00:09:01,730 --> 00:09:04,350 kufanya operesheni zake. 167 00:09:04,350 --> 00:09:06,600 Sasa kuna kitu kingine hiyo ni muhimu kutaja 168 00:09:06,600 --> 00:09:10,280 wakati sisi ni kujadili mbio Mpango kwa njia hii. 169 00:09:10,280 --> 00:09:13,660 >> Taarifa kwamba ina kweli kuletwa hadi tabo mpya katika console yetu 170 00:09:13,660 --> 00:09:14,780 pamoja chini. 171 00:09:14,780 --> 00:09:18,600 Hatuna tena wa kiutendaji moja kwa moja na dirisha wastaafu. 172 00:09:18,600 --> 00:09:21,420 Lakini tabo hii mpya ni kweli dirisha wastaafu. 173 00:09:21,420 --> 00:09:26,710 Ni tu ni maalum kwa mbio mpango huo tuna umba. 174 00:09:26,710 --> 00:09:29,270 >> Taarifa kwamba chini, katika pamoja na baadhi ya pato 175 00:09:29,270 --> 00:09:33,500 na Clang compiler na GDB, ambayo tunaweza kwa kiasi kikubwa kupuuza, 176 00:09:33,500 --> 00:09:37,570 ni kweli inaonyesha pato la mpango wetu chini kabisa. 177 00:09:37,570 --> 00:09:41,240 Sasa ni muhimu kutambua kwamba dirisha hili moja kwa kweli 178 00:09:41,240 --> 00:09:43,360 nitakuonyesha pato kutoka mpango wako 179 00:09:43,360 --> 00:09:47,190 lakini pia wanaweza kukubali pembejeo kwa mpango huo, pia. 180 00:09:47,190 --> 00:09:49,260 >> Hivyo taarifa kwamba anasema tafadhali kuingia idadi, 181 00:09:49,260 --> 00:09:53,050 ambayo ni pato sawa kwamba tulikuwa na alikuwa katika dirisha terminal kabla. 182 00:09:53,050 --> 00:09:55,510 Lakini ni sasa inavyoonekana katika tabo mpya. 183 00:09:55,510 --> 00:09:56,550 Naweza pembejeo idadi. 184 00:09:56,550 --> 00:10:00,900 Na itakuwa kweli kazi kama tunatarajia 185 00:10:00,900 --> 00:10:05,890 kuonyesha sisi utatuzi yetu, pato, pato ambayo inaweza kuwa Buggy, 186 00:10:05,890 --> 00:10:07,010 kama tumeona kabla. 187 00:10:07,010 --> 00:10:10,460 Na chini sana, ni kweli ina baadhi pato ziada 188 00:10:10,460 --> 00:10:14,550 kutoka GDP tu kusema kwamba mpango huu amekamilisha. 189 00:10:14,550 --> 00:10:16,655 >> Sasa kama wewe aliona katika hii kukimbia hasa kupitia, 190 00:10:16,655 --> 00:10:19,370 haikuwa hasa muhimu kwa sababu hata 191 00:10:19,370 --> 00:10:23,740 ingawa tulikuwa orodha HatiJava kuja up, hii ilikuwa bado mbio mpango. 192 00:10:23,740 --> 00:10:26,790 Wakati hakuna uhakika alifanya hivyo kweli kutulia utekelezaji kwa ajili yetu 193 00:10:26,790 --> 00:10:30,767 kuwa na uwezo wa kukagua wote wa vigezo zilizomo ndani. 194 00:10:30,767 --> 00:10:32,850 Kuna kitu kingine kwamba tuna kufanya ili 195 00:10:32,850 --> 00:10:36,910 kupata GDB kutambua kwamba tunataka kutulia utekelezaji wa mpango 196 00:10:36,910 --> 00:10:42,820 na si tu kuruhusu kuendelea kawaida kama tunataka katika kesi nyingine yoyote. 197 00:10:42,820 --> 00:10:45,530 >> Ili kutulia utekelezaji, katika baadhi mstari maalum, 198 00:10:45,530 --> 00:10:47,830 tunahitaji kujenga nini aitwaye hatua ya mapumziko. 199 00:10:47,830 --> 00:10:52,670 Na mapumziko uhakika ni urahisi sana umba katika hii CS50 IDE kwa kuchukua mouse yako 200 00:10:52,670 --> 00:10:57,090 na kubonyeza moja kwa moja kwa upande wa kushoto baadhi maalum mstari idadi. 201 00:10:57,090 --> 00:10:59,920 Mara baada ya mimi kufanya hivyo, nyekundu dot inaonekana, ambayo inaonyesha 202 00:10:59,920 --> 00:11:02,300 kwamba kuwa mstari ni sasa hatua ya mapumziko. 203 00:11:02,300 --> 00:11:07,540 >> Na wakati mwingine kwamba mimi kukimbia GDB, ni kuacha utekelezaji wakati huo kuvunja uhakika 204 00:11:07,540 --> 00:11:10,280 ilipo kuwa mstari wa kanuni. 205 00:11:10,280 --> 00:11:12,230 Sasa hii ni muhimu Jambo kutambua 206 00:11:12,230 --> 00:11:16,140 kuwa ni si lazima kesi hiyo kila mstari wa kanuni 207 00:11:16,140 --> 00:11:17,880 ni kweli kupatikana. 208 00:11:17,880 --> 00:11:23,780 Kama ningekuwa na kujenga kazi hapa, kwa example-- utupu f-- 209 00:11:23,780 --> 00:11:31,230 na tu kufanya mstari magazeti here-- hodi world-- kama mimi kamwe kuwaita kazi hii, 210 00:11:31,230 --> 00:11:34,770 itakuwa kesi hiyo, kama mimi kuweka hatua ya mapumziko hapa, 211 00:11:34,770 --> 00:11:36,220 kazi kamwe kuitwa. 212 00:11:36,220 --> 00:11:38,310 Na kwa hiyo, hii Hasa hatua ya mapumziko 213 00:11:38,310 --> 00:11:43,040 kamwe kweli kutulia utekelezaji wa mpango huo. 214 00:11:43,040 --> 00:11:48,020 >> Basi hebu kusema kwamba mimi kwa usahihi kuunda hatua ya mapumziko juu ya baadhi mstari wa kanuni 215 00:11:48,020 --> 00:11:50,340 ambayo kwa kweli ni lazima ifanyike. 216 00:11:50,340 --> 00:11:53,470 Sasa katika kesi hii, hii ni mstari wa kwanza katika kazi kuu. 217 00:11:53,470 --> 00:11:56,630 Hivyo ni shaka kuwa kesi kwamba, kwa haraka kama mimi kuanza utekelezaji, 218 00:11:56,630 --> 00:11:58,580 mstari wa kwanza kabisa utafikiwa. 219 00:11:58,580 --> 00:12:00,230 GDB pause utekelezaji. 220 00:12:00,230 --> 00:12:04,100 Na kisha, mimi kuwa na uwezo wa kuingiliana na HatiJava. 221 00:12:04,100 --> 00:12:08,480 >> Unaweza kuweka mistari mingi kama breakpoints, kama ungependa. 222 00:12:08,480 --> 00:12:11,365 Tunaweza pia kujenga line up hapa katika sehemu hii ya maadili 223 00:12:11,365 --> 00:12:12,490 kwamba kamwe kufikiwa. 224 00:12:12,490 --> 00:12:14,744 Na tunaweza pia kuweka moja zaidi hapa chini. 225 00:12:14,744 --> 00:12:16,660 Sababu kwamba tunataka wanataka kufanya hivyo tutaweza 226 00:12:16,660 --> 00:12:19,119 kwenda katika kidogo zaidi undani katika muda tu. 227 00:12:19,119 --> 00:12:21,660 Hivyo kwa sasa, napenda tu afya haya ya nyongeza ya mapumziko pointi 228 00:12:21,660 --> 00:12:24,940 ili tuweze kuangalia nini kinatokea wakati mimi na single mapumziko moja 229 00:12:24,940 --> 00:12:27,650 hatua katika mpango wangu. 230 00:12:27,650 --> 00:12:29,410 Nimekufanya baadhi mabadiliko ya mpango huu. 231 00:12:29,410 --> 00:12:30,750 Hivyo nahitaji kuokoa yake. 232 00:12:30,750 --> 00:12:34,490 Mimi bonyeza utatuzi ili niweze kuanza kukusanya na kisha 233 00:12:34,490 --> 00:12:36,880 utekelezaji wa HatiJava. 234 00:12:36,880 --> 00:12:40,632 >> Tutaona kwamba, baada ya muda mfupi, mstari kwamba sisi kuchaguliwa kama mapumziko 235 00:12:40,632 --> 00:12:43,360 hatua ni yalionyesha katika njano. 236 00:12:43,360 --> 00:12:47,440 Tunaweza pia taarifa kwamba katika haki juu katika utatuzi jopo 237 00:12:47,440 --> 00:12:50,940 kwamba kunyamaza icon limegeuka ndani ya kidogo kucheza icon. 238 00:12:50,940 --> 00:12:54,710 Hii ina maana kwamba tuna pause utekelezaji, katika kesi hii tu. 239 00:12:54,710 --> 00:12:57,840 Na kupiga kifungo Play ingekuwa kuruhusu sisi kuendelea utekelezaji 240 00:12:57,840 --> 00:13:00,000 katika hatua hiyo maalum. 241 00:13:00,000 --> 00:13:03,240 >> Taarifa kwamba kuna wanandoa wa wengine vifungo inapatikana katika hii jopo utatuzi, 242 00:13:03,240 --> 00:13:04,220 vilevile. 243 00:13:04,220 --> 00:13:09,470 Hatua ya juu, ambayo inaruhusu mimi kutekeleza kwamba mstari mmoja wa kanuni 244 00:13:09,470 --> 00:13:14,030 na hatua ya juu kwa kuwa mstari wa ijayo moja, ambayo, katika kesi hii, 245 00:13:14,030 --> 00:13:17,060 itakuwa na maana kwamba printf Kauli ni kunyongwa. 246 00:13:17,060 --> 00:13:22,310 Na itakuwa kisha kutulia utekelezaji kwenye mstari 13, kama hivyo. 247 00:13:22,310 --> 00:13:25,090 >> Na pia kuna hatua ndani ya kazi, ambayo 248 00:13:25,090 --> 00:13:28,950 ni muhimu kama mimi tumemuumba mengine kazi mahali pengine katika kanuni chanzo. 249 00:13:28,950 --> 00:13:31,420 Na mimi nataka hatua katika kazi hizo badala ya 250 00:13:31,420 --> 00:13:33,050 kutekeleza kazi hiyo kwa ujumla. 251 00:13:33,050 --> 00:13:37,279 Lakini tutaangalia zaidi katika hatua ndani ya kazi katika muda tu. 252 00:13:37,279 --> 00:13:40,320 Sasa angalia baadhi ya mambo mengine ambayo kweli zipo ndani ya hii jopo utatuzi. 253 00:13:40,320 --> 00:13:44,110 >> Tuna jopo hili aitwaye piga stack, ambayo inaonyesha sisi 254 00:13:44,110 --> 00:13:45,300 ambapo hasa sisi ni. 255 00:13:45,300 --> 00:13:48,550 Katika kesi hiyo, sisi ni ndani ya ya kazi kuu. 256 00:13:48,550 --> 00:13:50,880 Muswada yetu inaitwa count.c. 257 00:13:50,880 --> 00:13:53,820 Na sisi kutokea kwa kuwa juu ya mstari 13, safu moja, ambayo 258 00:13:53,820 --> 00:13:58,950 ni just nini mkoa yalionyesha ya chanzo kanuni inaonyesha, kama vile. 259 00:13:58,950 --> 00:14:02,435 >> Sasa angalia kwamba hii pia inaonyesha chini ya kifungu cha kutofautiana ndani 260 00:14:02,435 --> 00:14:06,710 wote wa vigezo kwamba zipo ndani ya kazi hii. 261 00:14:06,710 --> 00:14:08,930 Ni muhimu kutambua kwamba wote wa vigezo 262 00:14:08,930 --> 00:14:12,580 itaonekana katika kutofautiana hii mitaa sehemu ya ndani kazi, 263 00:14:12,580 --> 00:14:14,380 hata kabla yanatokana. 264 00:14:14,380 --> 00:14:19,160 Tunaweza kuona hapa kwamba tuna kutofautiana aitwaye num, ina chaguo-msingi thamani ya 0, 265 00:14:19,160 --> 00:14:21,280 na ni wa aina int. 266 00:14:21,280 --> 00:14:24,110 >> Sasa kabla ya sisi kweli initialize wote wa vigezo hivi, 267 00:14:24,110 --> 00:14:26,685 tuko si lazima uhakika na kuona thamani ya 0. 268 00:14:26,685 --> 00:14:29,200 Na kutegemea kunyonga mengine kwa kuwa kazi 269 00:14:29,200 --> 00:14:32,020 na hali ya kumbukumbu yako wakati wewe kweli kuendesha mpango huu, 270 00:14:32,020 --> 00:14:34,605 unaweza kupata kwamba wewe hawaoni maadili ya 0 271 00:14:34,605 --> 00:14:36,550 na, badala yake, baadhi ya wengine nambari mambo. 272 00:14:36,550 --> 00:14:38,390 >> Lakini msiwe na wasiwasi juu ya kwamba. 273 00:14:38,390 --> 00:14:44,610 Ni si kwenda kuwa muhimu mpaka wewe kweli initialize thamani. 274 00:14:44,610 --> 00:14:49,630 Sasa katika kesi hiyo, tunaweza kuona kwamba I have kazi baadhi ya matokeo. 275 00:14:49,630 --> 00:14:52,131 Na mimi nina, sasa hivi, paused utekelezaji. 276 00:14:52,131 --> 00:14:53,880 Lakini katika kesi hii, ni nini Mimi kwa kweli wanataka kufanya 277 00:14:53,880 --> 00:14:58,060 ni kwa sasa hatua juu ya mstari huu wa kanuni ili niweze kweli 278 00:14:58,060 --> 00:15:04,390 swala user kwa kuwa int kwamba tunataka kutumia katika mpango wetu. 279 00:15:04,390 --> 00:15:07,060 >> Sasa katika kesi hiyo, wakati Mimi kugonga hatua ya juu, ilani 280 00:15:07,060 --> 00:15:11,940 kwamba Pause au tuseme Resume kifungo imebadilika kwa hii kifungo Pause 281 00:15:11,940 --> 00:15:14,022 kwa sababu kanuni hii ni kweli utekelezaji. 282 00:15:14,022 --> 00:15:15,730 Kile kinachotokea sasa hivi ni kwamba ni 283 00:15:15,730 --> 00:15:21,630 kusubiri kwa ajili yetu ili pembejeo baadhi ya taarifa kama tunaweza kuona na pato yetu maandishi 284 00:15:21,630 --> 00:15:23,600 chini sana. 285 00:15:23,600 --> 00:15:25,787 >> Hivyo sasa hivi, hii ni si kweli paused, 286 00:15:25,787 --> 00:15:28,620 hata kama, aina ya, inaonekana kuwa kwa sababu hakuna kitu kinachotokea. 287 00:15:28,620 --> 00:15:32,360 Lakini tu hivyo hutokea kwamba katika kesi yangu maalum kwenye mstari 13, 288 00:15:32,360 --> 00:15:34,210 Mimi nina kusubiri kwa pembejeo mtumiaji. 289 00:15:34,210 --> 00:15:39,130 Na hivyo GDB haina uwezo wa kukagua Mpango kama ni mbio. 290 00:15:39,130 --> 00:15:43,370 >> Sasa wakati mwingine kwamba mimi kuingia baadhi input-- hivyo mimi itabidi kuingia kwamba namba 5, 291 00:15:43,370 --> 00:15:46,140 kama tumeona katika past-- kugonga kurudi, na sisi 292 00:15:46,140 --> 00:15:51,430 taarifa kwamba, mara moja, GDB anapo na, tena, inaonyesha mstari wa pili. 293 00:15:51,430 --> 00:15:55,320 Lakini taarifa kwamba sasa, kama matokeo ya yetu inputting thamani, 294 00:15:55,320 --> 00:15:58,930 tuna updated thamani kwamba ndani ya ya vigezo yetu ya ndani, ambayo 295 00:15:58,930 --> 00:16:05,560 Ni muhimu sana kujua hasa ni nini idadi hiyo ilikuwa katika kumbukumbu. 296 00:16:05,560 --> 00:16:10,650 >> Sasa naweza kuruhusu mpango huu kuendelea kucheza mpaka mwisho wa utekelezaji wake 297 00:16:10,650 --> 00:16:12,570 kwa kupiga Resume. 298 00:16:12,570 --> 00:16:16,410 Tunaweza kuona kwamba haraka sana anafanya kumaliza mpango wa utekelezaji 299 00:16:16,410 --> 00:16:19,790 na pato la sawa kwamba sisi nayo kwanza, HatiJava kufunga, 300 00:16:19,790 --> 00:16:23,170 na sasa mpango huu kimesimama kabisa. 301 00:16:23,170 --> 00:16:25,320 >> Mimi zinaonyesha kuwa tu kwa madhumuni ya kuona nini 302 00:16:25,320 --> 00:16:27,280 hutokea wakati sisi kweli kugonga Resume. 303 00:16:27,280 --> 00:16:30,640 Lakini sisi kweli ni kwenda wanataka kurudi nyuma katika mpango huu 304 00:16:30,640 --> 00:16:33,820 ili tuweze kujaribu Debug just nini kinatokea. 305 00:16:33,820 --> 00:16:37,980 Sasa kwa kuwa mimi nina kutumia HatiJava, nipate haja hizi kauli utatuzi printf. 306 00:16:37,980 --> 00:16:43,860 >> Ili niweze kuondoa yao kama nitafanya sasa tu kwenda nyuma kificho wetu rahisi 307 00:16:43,860 --> 00:16:45,950 kwamba tulikuwa na wakati iliyopita. 308 00:16:45,950 --> 00:16:48,790 Sasa wakati mimi kuokoa mpango na nitafanya hivyo, 309 00:16:48,790 --> 00:16:53,700 itakuwa, tena, kwenda kuwa awali kuvunja hatua hiyo nilikuwa kwenye mstari 11. 310 00:16:53,700 --> 00:16:57,700 Na mimi itabidi kuwa na uwezo wa kukagua vigezo wangu kama nataka kufanya. 311 00:16:57,700 --> 00:17:00,695 >> Ni hivyo tu hutokea kwamba hii sehemu ni si ya kuvutia sana, 312 00:17:00,695 --> 00:17:04,364 Nami najua kuwa mimi nina kwenda magazeti nje kauli hii. 313 00:17:04,364 --> 00:17:05,280 Tafadhali kuingia idadi. 314 00:17:05,280 --> 00:17:08,099 Na kisha, najua kwamba mimi nina kwenda kuuliza mtumiaji kwa kuwa integer. 315 00:17:08,099 --> 00:17:13,329 Hivyo labda, mimi kwa kweli wanataka kuhamia yangu kuvunja hatua kidogo zaidi chini. 316 00:17:13,329 --> 00:17:16,710 >> Unaweza kuondoa kuvunja pointi kwa kubonyeza, tena, moja kwa moja 317 00:17:16,710 --> 00:17:18,460 upande wa kushoto wa mstari huo idadi. 318 00:17:18,460 --> 00:17:22,200 Hiyo nyekundu dot kutoweka, ikionyesha kwamba kuwa hatua ya mapumziko sasa ni gone. 319 00:17:22,200 --> 00:17:24,780 Sasa katika kesi hiyo, utekelezaji imekuwa umesitishwa. 320 00:17:24,780 --> 00:17:27,770 Na hivyo si kweli kwenda kuanza tena katika mfano huo. 321 00:17:27,770 --> 00:17:30,210 Lakini siwezi kuweka mapumziko uhakika kidogo baadaye. 322 00:17:30,210 --> 00:17:33,880 >> Na wakati mimi sasa kuanza yangu kanuni, ni vitaanza na kuwaambia 323 00:17:33,880 --> 00:17:36,190 hatua ya kuwa hatua ya mapumziko. 324 00:17:36,190 --> 00:17:37,374 Tena, mimi kugonga Resume. 325 00:17:37,374 --> 00:17:39,040 Haionekani kama kitu chochote kinachotokea. 326 00:17:39,040 --> 00:17:41,450 Lakini hiyo ni kwa sababu yangu kanuni ni kusubiri kwa ajili ya pembejeo. 327 00:17:41,450 --> 00:17:47,900 Mimi wataingia namba 5, hit Enter, na sasa ijayo hatua ya mapumziko utapigwa. 328 00:17:47,900 --> 00:17:50,570 >> Sasa katika kesi hiyo, hii ni mstari wa kanuni 329 00:17:50,570 --> 00:17:53,820 kwamba, kabla, sisi alijua kilichotokea kwa kuwa Buggy. 330 00:17:53,820 --> 00:17:57,590 Basi hebu kutathmini nini kinatokea katika hasa hatua hii kwa wakati. 331 00:17:57,590 --> 00:18:02,620 Wakati line ni yalionyesha, hii mstari bado kunyongwa. 332 00:18:02,620 --> 00:18:06,490 Hivyo katika kesi hii, tunaweza kuona kwamba mimi kuwa na idadi, ambayo 333 00:18:06,490 --> 00:18:11,610 Nina integer kuitwa num ambayo ina thamani 5. 334 00:18:11,610 --> 00:18:15,090 Na mimi nina kwenda kuwa kufanya baadhi math juu ya idadi hiyo. 335 00:18:15,090 --> 00:18:20,130 >> Kama mimi hatua juu ya kwamba, tunaweza taarifa kwamba thamani ya num 336 00:18:20,130 --> 00:18:23,780 imebadilika kwa mujibu wa hesabu kwamba tumekuwa kweli kufanyika. 337 00:18:23,780 --> 00:18:26,810 Na sasa kwamba sisi ni ndani ya hii kwa kitanzi 338 00:18:26,810 --> 00:18:29,090 au kwa kuwa sasa kwa kitanzi yenyewe ni yalionyesha, 339 00:18:29,090 --> 00:18:32,450 tunaona kwamba tuna mpya variable kuitwa i kwamba 340 00:18:32,450 --> 00:18:35,370 ni kwenda kutumika kwa kuwa kwa kitanzi. 341 00:18:35,370 --> 00:18:38,230 >> Sasa kumbuka kabla ya kuwa mimi alieleza kuwa wakati mwingine uko 342 00:18:38,230 --> 00:18:43,470 kwenda kuona baadhi ya mambo aina idadi kama chaguo-msingi kabla ya idadi hiyo 343 00:18:43,470 --> 00:18:45,530 au kwamba kutofautiana ni kweli initialized. 344 00:18:45,530 --> 00:18:49,040 Tunaweza kuona kwamba just hapa katika kutofautiana hii 345 00:18:49,040 --> 00:18:51,345 kuitwa i, ambayo ina si bado initialized 346 00:18:51,345 --> 00:18:53,560 wakati wa kuonyesha. 347 00:18:53,560 --> 00:18:57,070 Lakini tunaweza kuona kwamba ina baadhi ya idadi kwamba tunataka si kweli kutarajia. 348 00:18:57,070 --> 00:18:57,620 >> Hiyo ni sawa. 349 00:18:57,620 --> 00:18:59,661 Msiwe na wasiwasi kuhusu hilo kwa sababu tuna si kweli 350 00:18:59,661 --> 00:19:04,970 initialized idadi hiyo mpaka mimi hatua ya juu ya mstari huu na thamani 351 00:19:04,970 --> 00:19:08,560 i imekuwa initialized kwa thamani 1. 352 00:19:08,560 --> 00:19:11,400 Hivyo kuona kwamba hiyo ni kweli kesi, hebu hatua ya juu. 353 00:19:11,400 --> 00:19:14,420 Sasa tunaweza kuona kwamba kuwa mstari imekuwa kunyongwa. 354 00:19:14,420 --> 00:19:17,000 Na sisi sasa ni kuonyesha mstari huu printf. 355 00:19:17,000 --> 00:19:22,230 >> Na sasa tunaweza kuona jinsi maadili yetu ya i na 3 vilivyobadilika. 356 00:19:22,230 --> 00:19:26,450 Hii ni muhimu sana kufanya, kwa kweli, ni hatua juu ya mistari mara kwa mara. 357 00:19:26,450 --> 00:19:30,480 Na unaweza kupata nini hasa ikitokea ndani ya yako kwa kitanzi 358 00:19:30,480 --> 00:19:33,660 na nini kinatokea kwa vigezo ndani ya kwamba kwa kitanzi 359 00:19:33,660 --> 00:19:39,200 kama kwamba utekelezaji wa mpango hutokea hatua moja kwa wakati. 360 00:19:39,200 --> 00:19:41,110 >> Sasa katika hatua hii, mimi kupitiwa juu tu ya kutosha 361 00:19:41,110 --> 00:19:44,210 kwamba mimi niko sasa mwishoni mwa mpango wangu. 362 00:19:44,210 --> 00:19:46,980 Kama mimi hatua juu ya kwamba, itakuwa kweli kusitisha utekelezaji 363 00:19:46,980 --> 00:19:48,860 kama tumeona huko nyuma. 364 00:19:48,860 --> 00:19:52,110 Napenda kuanzisha upya hii, lakini tena, hivyo niweze uhakika kitu kingine nje, 365 00:19:52,110 --> 00:19:53,320 vilevile. 366 00:19:53,320 --> 00:19:55,350 >> Katika kesi hiyo, ni sasa kuuliza mimi, tena, 367 00:19:55,350 --> 00:19:57,100 kwa idadi, ambayo Mimi, tena, kuingia. 368 00:19:57,100 --> 00:20:00,300 Lakini wakati huu, mimi nina kwenda kuingia katika idadi kubwa ili kwa kitanzi 369 00:20:00,300 --> 00:20:02,540 Itakuwa iterate zaidi ya mara. 370 00:20:02,540 --> 00:20:06,090 Katika kesi hiyo, mimi nina kwenda kuingia thamani ya 11. 371 00:20:06,090 --> 00:20:08,390 >> Sasa tena kwa sababu Ningependa kuweka hatua ya mapumziko katika mstari 15, 372 00:20:08,390 --> 00:20:10,490 itakuja kuonyesha kwamba mstari. 373 00:20:10,490 --> 00:20:12,980 Tunaweza kuona kwamba wetu namba 11 ni kwa usahihi 374 00:20:12,980 --> 00:20:15,560 kuwakilishwa katika vigezo yetu ya ndani. 375 00:20:15,560 --> 00:20:22,460 Wanazidi juu kwamba, tunaweza sasa kuangalia nini kinatokea kwa thamani yetu ya i 376 00:20:22,460 --> 00:20:25,680 kama sisi kuendelea ndani ya hii kwa kitanzi. 377 00:20:25,680 --> 00:20:31,960 Anapata incremented kila sisi wakati kufikia juu ya kwamba kwa kitanzi. 378 00:20:31,960 --> 00:20:35,110 >> Sasa ni moja ya mambo ambayo huenda kuwa na manufaa kwa kufanya wakati wa utekelezaji 379 00:20:35,110 --> 00:20:40,490 la mpango huu ni kwa ajili yangu na kwa kweli mabadiliko vigezo midstream kuona 380 00:20:40,490 --> 00:20:42,450 nini kinatokea kwa mpango wangu. 381 00:20:42,450 --> 00:20:46,540 Katika kesi hiyo, naweza kweli bonyeza mara mbili thamani. 382 00:20:46,540 --> 00:20:48,040 Taarifa kwamba inakuwa uwanja maandishi. 383 00:20:48,040 --> 00:20:50,280 >> Sasa naweza kuingia tofauti thamani kabisa 384 00:20:50,280 --> 00:20:55,700 kuona jinsi mpango wangu kutenda wakati nimekuwa iliyopita kwamba kutofautiana. 385 00:20:55,700 --> 00:20:59,560 Sasa katika kesi hiyo, kutofautiana i sasa ina thamani 10. 386 00:20:59,560 --> 00:21:02,810 Lakini mpango huo ni bado paused katika utekelezaji. 387 00:21:02,810 --> 00:21:07,610 Wakati mimi hatua juu, naona ya kuwa thamani i, ambayo mimi aliingia kama 10, 388 00:21:07,610 --> 00:21:12,170 si mkuu zaidi kuliko thamani ya num, ambayo mara husababisha kwa kitanzi 389 00:21:12,170 --> 00:21:14,240 kuacha utekelezaji. 390 00:21:14,240 --> 00:21:16,210 >> Sasa hiyo ni si tu sababu ni kwa nini wewe ungekuwa 391 00:21:16,210 --> 00:21:19,450 wanataka kurekebisha kutofautiana katika mahali. 392 00:21:19,450 --> 00:21:22,210 Wewe ili kweli wanataka kujaribu kurekebisha ili 393 00:21:22,210 --> 00:21:24,590 uweze kuendelea utekelezaji wa kitanzi 394 00:21:24,590 --> 00:21:27,370 au ili uweze kurekebisha baadhi thamani kabla 395 00:21:27,370 --> 00:21:32,630 fika baadhi kuweka maalum ya hesabu kuwa wewe ni kuhusu kufanya. 396 00:21:32,630 --> 00:21:36,210 >> Hivyo sasa kwamba sisi kweli mabadiliko thamani ya i kama mpango huo utekelezaji, 397 00:21:36,210 --> 00:21:39,540 ni unasababishwa kwa kitanzi kujiondoa mapema kwa sababu, kwa ghafla, i 398 00:21:39,540 --> 00:21:42,770 kilichotokea kwa kuwa kubwa kuliko thamani ya num, kwa maana ya kuwa kwamba kwa kitanzi 399 00:21:42,770 --> 00:21:45,410 hawahitaji tena wauawe. 400 00:21:45,410 --> 00:21:48,780 Zaidi ya hayo, ilivyotokea kwa kuwa kesi hiyo sisi iliyopita thamani ya i 401 00:21:48,780 --> 00:21:53,270 wakati mstari 17 iliyohusishwa, ambayo ilikuwa hatua katika muda 402 00:21:53,270 --> 00:21:56,280 kwamba kwa ajili ya utekelezaji kitanzi kwa kweli kuwa tathmini. 403 00:21:56,280 --> 00:22:00,210 >> Kama mimi alikuwa iliyopita thamani ya i juu ya mstari tofauti, wanasema 19, 404 00:22:00,210 --> 00:22:03,360 sisi ingekuwa kuonekana tofauti tabia kwa sababu mstari 19 ingekuwa 405 00:22:03,360 --> 00:22:08,310 kuwa kunyongwa kabla kitanzi hali ilikuwa reevaluated. 406 00:22:08,310 --> 00:22:11,900 Sasa katika hatua hii, mimi nina tena, mwishoni mwa mpango huu. 407 00:22:11,900 --> 00:22:15,707 Na siwezi kuruhusu hili kuendelea na kuruhusu mpango wangu kujiondoa kawaida. 408 00:22:15,707 --> 00:22:18,290 Lakini kuna michache ya mambo ambazo ni muhimu kuchukua 409 00:22:18,290 --> 00:22:19,960 kutokana na majadiliano fulani. 410 00:22:19,960 --> 00:22:22,490 Unahitaji kufanya tathmini mawazo yako mwenyewe 411 00:22:22,490 --> 00:22:24,710 kuhusu jinsi kificho inapaswa tabia. 412 00:22:24,710 --> 00:22:28,220 Wakati wowote unafikiri kwamba baadhi kipande wa kanuni unajua hutokea kufanya kazi, 413 00:22:28,220 --> 00:22:30,940 hiyo inaweza kuwa ni bendera nyekundu kwenda nyuma na kutathmini, na kuwa na uhakika 414 00:22:30,940 --> 00:22:33,470 kwamba dhana yako ya jinsi kificho inafanya kazi 415 00:22:33,470 --> 00:22:38,290 ni kweli kweli kwa jinsi gani ni walionyesha katika chanzo code yako. 416 00:22:38,290 --> 00:22:41,300 >> Lakini hata zaidi kwa uhakika ilikuwa, wakati sisi ni kutumia HatiJava, 417 00:22:41,300 --> 00:22:43,920 unaweza kuweka breakpoints katika mistari tofauti ya maadili, 418 00:22:43,920 --> 00:22:48,110 ambayo itakuwa na kusababisha HatiJava ili kutulia utekelezaji katika kila moja ya mistari hayo 419 00:22:48,110 --> 00:22:52,210 ili uweze kutathmini kumbukumbu au hata mabadiliko hayo katika mahali. 420 00:22:52,210 --> 00:22:55,630 Na tena, kumbuka kwamba unaweza kujenga breakpoints nyingi ili uweze 421 00:22:55,630 --> 00:23:00,390 Unaweza pia kuanza utekelezaji, ruka zaidi ya sehemu kubwa ya kanuni, 422 00:23:00,390 --> 00:23:04,790 na kutakuwa na moja kwa moja pause katika ijayo hatua ya mapumziko. 423 00:23:04,790 --> 00:23:07,760 >> Kuna kweli zaidi juu sifa za HatiJava, kama vile. 424 00:23:07,760 --> 00:23:10,170 Lakini sisi itabidi kukuelekeza kwa baadhi video baadae 425 00:23:10,170 --> 00:23:14,090 ili kweli tease mbali jinsi kutumia kazi hizo hasa. 426 00:23:14,090 --> 00:23:15,990 Kwa sasa, asante sana kwa kuangalia. 427 00:23:15,990 --> 00:23:18,080 Na nzuri debugging bahati.