1 00:00:00,000 --> 00:00:05,640 2 00:00:05,640 --> 00:00:06,830 >> DOUG LLOYD: B眉t眉n h眉ququ gdb. 3 00:00:06,830 --> 00:00:08,480 M蓹hz n蓹dir? 4 00:00:08,480 --> 00:00:11,310 Dayan谋r bel蓹 gdb, GNU Debugger 眉莽眉n, 5 00:00:11,310 --> 00:00:15,040 h蓹qiq蓹t蓹n z蓹hmli vasit蓹dir ki, biz ed蓹 bil蓹rsiniz Bizim proqramlar谋 debug biz蓹 k枚m蓹k etm蓹k 眉莽眉n istifad蓹, 6 00:00:15,040 --> 00:00:18,210 v蓹 ya 艧eyi oldu臒u tapmaq bizim proqramlar谋 yanl谋艧 gedir. 7 00:00:18,210 --> 00:00:22,590 Gdb, q蓹rib蓹 g眉cl眉, lakin bu 莽谋x谋艧 v蓹 qar艧谋l谋ql谋 8 00:00:22,590 --> 00:00:23,830 bir az sirli ola bil蓹r. 9 00:00:23,830 --> 00:00:28,210 Bu ad蓹t蓹n bir command line al蓹t var, v蓹 Bu siz蓹 mesaj bir 莽ox atmaq olar. 10 00:00:28,210 --> 00:00:31,144 V蓹 bu c眉r a臒谋r bil蓹rsiniz ged蓹n d蓹qiq n蓹 analiz. 11 00:00:31,144 --> 00:00:33,560 Xo艧b蓹xtlikd蓹n, biz q蓹bul etdik add谋mlar sizin 眉莽眉n bu problemi h蓹ll etm蓹k 12 00:00:33,560 --> 00:00:36,281 CS50 vasit蓹sil蓹 i艧 kimi. 13 00:00:36,281 --> 00:00:39,030 Siz qrafik istifad蓹 edirsinizs蓹 ay谋klama, m蓹nim h蓹mkar谋m Dan 14 00:00:39,030 --> 00:00:41,570 Armandarse olduqca dan谋艧d谋 bir video haqq谋nda bir az ki, 15 00:00:41,570 --> 00:00:44,740 burada olmal谋d谋r 陌ndi, siz蓹 laz谋m ola bil蓹r 16 00:00:44,740 --> 00:00:48,270 Bu command line istifad蓹 etm蓹k tools gdb il蓹 i艧l蓹m蓹k 眉莽眉n. 17 00:00:48,270 --> 00:00:51,250 Siz CS50 i艧 edirsinizs蓹 IDE, bunu etm蓹k laz谋m deyil. 18 00:00:51,250 --> 00:00:53,550 Amma de臒ilseniz CS50 IDE 莽al谋艧an, 19 00:00:53,550 --> 00:00:55,750 b蓹lk蓹 bir versiyas谋n谋 istifad蓹 ed蓹r蓹k, CS50 Arac谋 ki, 20 00:00:55,750 --> 00:00:58,860 v蓹 ya ba艧qa bir Linux 蓹m蓹liyyat gdb sistemi, bu y眉kl眉 21 00:00:58,860 --> 00:01:00,980 istifad蓹 etm蓹k laz谋m ola bil蓹r bu command line al蓹tl蓹r. 22 00:01:00,980 --> 00:01:02,860 >> V蓹 ild蓹n bil蓹r bu ki, n蓹 etm蓹k laz谋md谋r 23 00:01:02,860 --> 00:01:06,280 nec蓹 anlamaq 眉莽眉n faydal谋 GDB skript sat谋r谋 i艧l蓹yir. 24 00:01:06,280 --> 00:01:09,650 Ancaq yen蓹 d蓹, siz de臒ilseniz CS50 IDE istifad蓹 ed蓹r蓹k, siz 25 00:01:09,650 --> 00:01:15,400 qrafik ay谋klama istifad蓹 ed蓹 bil蓹rsiniz ki, IDE daxil edilir. 26 00:01:15,400 --> 00:01:18,750 Bel蓹 艧eyl蓹r il蓹 ba艧lamaq 眉莽眉n Gdb ay谋klama ba艧lamaq 眉莽眉n 27 00:01:18,750 --> 00:01:21,220 x眉susi prosesi proqram, siz b眉t眉n laz谋m 28 00:01:21,220 --> 00:01:23,810 GDB t蓹qib tipi Proqram ad谋 il蓹. 29 00:01:23,810 --> 00:01:28,620 Bel蓹 ki, m蓹s蓹l蓹n, proqram 蓹g蓹r salam, siz gdb salam yaz谋n ki. 30 00:01:28,620 --> 00:01:31,210 >> Bunu zaman, olacaq GDB m眉hit qoparmaq 眉莽眉n. 31 00:01:31,210 --> 00:01:33,800 Sizin tez d蓹yi艧dirm蓹k v蓹 蓹v蓹zin蓹 olan ad蓹t蓹n n蓹 32 00:01:33,800 --> 00:01:35,841 Siz h蓹r 艧eyi yaz谋n zaman command x蓹tti ls da, 33 00:01:35,841 --> 00:01:38,115 Sizin tipik b眉t眉n cd-- Linux, sizin tez 蓹mrl蓹ri 34 00:01:38,115 --> 00:01:42,200 , y蓹qin ki, bir 艧ey d蓹yi艧蓹c蓹k parantez kimi gdb parantez. 35 00:01:42,200 --> 00:01:46,630 脟眉nki, yeni gdb tez var Siz gdb m眉hit daxilind蓹 ist蓹yirik. 36 00:01:46,630 --> 00:01:49,830 Sonra ki, 蓹traf m眉hit daxilind蓹, iki 蓹sas 蓹mrl蓹ri var 37 00:01:49,830 --> 00:01:52,290 Siz y蓹qin ki, istifad蓹 ed蓹c蓹yik ki, a艧a臒谋dak谋 qaydada. 38 00:01:52,290 --> 00:01:55,200 >> ilk b, olan fasil蓹 眉莽眉n q谋sa. 39 00:01:55,200 --> 00:01:58,690 V蓹 b, ad蓹t蓹n yaz谋n sonra bir funksiyas谋 ad谋n谋 yaz谋n, 40 00:01:58,690 --> 00:02:01,040 v蓹 ya Bildiyiniz n蓹 varsa n蓹 line say谋 蓹traf谋nda 41 00:02:01,040 --> 00:02:04,100 Proqram ba艧lay谋r bir az q蓹rib蓹 davranmaq, 42 00:02:04,100 --> 00:02:06,370 Bir x蓹tt yaz谋n s谋ra h蓹m莽inin. 43 00:02:06,370 --> 00:02:09,660 N蓹 b, v蓹 ya fasil蓹 yoxdur bu proqram imkan verir 44 00:02:09,660 --> 00:02:13,270 m眉蓹yy蓹n bir n枚qt蓹y蓹 q蓹d蓹r 莽al谋艧t谋rmak 眉莽眉n, funksiyas谋, y蓹ni ad谋 45 00:02:13,270 --> 00:02:15,880 belirtti臒iniz v蓹 ya line oldu臒unu belirtti臒iniz n枚mr蓹si. 46 00:02:15,880 --> 00:02:18,590 >> V蓹 o n枚qt蓹d蓹, onu icras谋 dondurmaq ed蓹c蓹k. 47 00:02:18,590 --> 00:02:21,670 Bu, 莽眉nki, h蓹qiq蓹t蓹n yax艧谋 bir 艧ey deyil icra dondurulub sonra, 48 00:02:21,670 --> 00:02:25,214 Siz 莽ox yava艧-yava艧 ba艧laya bil蓹r proqram gezinmek. 49 00:02:25,214 --> 00:02:28,130 Siz oldu臒unuz 蓹g蓹r Ad蓹t蓹n, 莽al谋艧an Sizin proqramlar谋, onlar olduqca q谋sa ist蓹yirik. 50 00:02:28,130 --> 00:02:31,250 Ad蓹t蓹n, siz dot 莽izgi yaz谋n n蓹 Proqram ad谋 daxil edin hit 51 00:02:31,250 --> 00:02:33,470 v蓹 q谋rpmaq 蓹vv蓹l, sizin Proqram art谋q ba艧a 莽atm谋艧d谋r. 52 00:02:33,470 --> 00:02:36,620 Bu, h蓹qiq蓹t蓹n c蓹hd 莽ox vaxt deyil v蓹 yanl谋艧 gedir n蓹 anlamaq. 53 00:02:36,620 --> 00:02:40,920 Bu, h蓹qiq蓹t蓹n, h蓹r 艧eyi yava艧 etm蓹k 眉莽眉n bel蓹 a艧a臒谋 b bir fasil蓹 point q蓹bulu il蓹, 54 00:02:40,920 --> 00:02:43,040 v蓹 sonra g眉cl蓹ndirm蓹kl蓹. 55 00:02:43,040 --> 00:02:46,169 >> Siz fasil蓹 m眉蓹yy蓹n etdik sonra bir d蓹f蓹 point, proqram 莽al谋艧t谋rabilirsiniz. 56 00:02:46,169 --> 00:02:47,960 V蓹 h蓹r hans谋 bir varsa command line d蓹lill蓹ri, 57 00:02:47,960 --> 00:02:51,610 Siz burada m眉蓹yy蓹n zaman Siz proqram ad谋 gdb yaz谋n. 58 00:02:51,610 --> 00:02:55,980 Siz b眉t眉n command line daxil r, v蓹 ya run alaraq d蓹lill蓹ri, 59 00:02:55,980 --> 00:03:00,270 v蓹 sonra h蓹r hans谋 command line d蓹lill蓹ri Siz proqram daxilind蓹 laz谋md谋r. 60 00:03:00,270 --> 00:03:03,510 Dig蓹r bir s谋ra h蓹qiq蓹t蓹n var m眉h眉m v蓹 faydal谋 蓹mrl蓹ri 61 00:03:03,510 --> 00:03:04,970 脺DM-in 蓹traf m眉hit daxilind蓹. 62 00:03:04,970 --> 00:03:07,540 Bel蓹 ki, yaln谋z tez m蓹n蓹 imkan b蓹zil蓹ri 眉z蓹rind蓹 gedin. 63 00:03:07,540 --> 00:03:11,320 >> ilk, n枚vb蓹ti 眉莽眉n q谋sa n edir v蓹 n枚vb蓹ti 蓹v蓹zin蓹 n yaz谋n 64 00:03:11,320 --> 00:03:12,304 h蓹m i艧 olard谋. 65 00:03:12,304 --> 00:03:13,470 V蓹 yaln谋z stenoqrafiya var. 66 00:03:13,470 --> 00:03:17,540 V蓹 y蓹qin ki, art谋q kazan谋lm谋艧 kimi 艧eyi yaz谋n qadir olan 眉莽眉n istifad蓹 67 00:03:17,540 --> 00:03:20,520 q谋sa 眉mumiyy蓹tl蓹 yax艧谋d谋r. 68 00:03:20,520 --> 00:03:24,100 V蓹 n蓹 bunu ed蓹c蓹k laz谋md谋r deyil kod ir蓹li bir blok add谋m. 69 00:03:24,100 --> 00:03:26,170 Bel蓹 ki, ir蓹li h蓹r蓹k蓹t ed蓹c蓹yik bir funksiyas谋 z蓹ng q蓹d蓹r. 70 00:03:26,170 --> 00:03:28,350 V蓹 sonra yerin蓹 ki, funksiyas谋 daxil dal谋艧 71 00:03:28,350 --> 00:03:33,130 v蓹 funksiyalar谋 b眉t眉n ke莽ir indeksi, yaln谋z funksiyas谋 olacaq. 72 00:03:33,130 --> 00:03:34,400 >> funksiyas谋 adlanacaq. 73 00:03:34,400 --> 00:03:35,733 Onun i艧 n蓹 laz谋md谋rsa ed蓹c蓹yik. 74 00:03:35,733 --> 00:03:38,870 Bu d蓹y蓹r qay谋dacaqlar adl谋 funksiyas谋. 75 00:03:38,870 --> 00:03:42,490 V蓹 sonra 眉莽眉n h蓹r蓹k蓹t ed蓹c蓹yik ki, z蓹ng funksiyas谋 n枚vb蓹ti line. 76 00:03:42,490 --> 00:03:44,555 Add谋m ist蓹yirsinizs蓹 funksiyas谋 daxilind蓹, 77 00:03:44,555 --> 00:03:46,430 蓹v蓹zin蓹 yaln谋z olan x眉susil蓹, icra 78 00:03:46,430 --> 00:03:50,004 Siz problem hesab edir蓹m ki, 蓹g蓹r ki, funksiyas谋 daxilind蓹 yalan bil蓹r, 79 00:03:50,004 --> 00:03:52,670 Siz, 蓹lb蓹tt蓹, bir fasil蓹 t蓹yin ed蓹 bil蓹r daxilind蓹 funksiyas谋 qeyd. 80 00:03:52,670 --> 00:03:57,820 茝g蓹r siz art谋q yay谋nl谋yorsan谋z v蓹 ya, siz kod ir蓹li bir x蓹tt add谋m s istifad蓹 edin. 81 00:03:57,820 --> 00:04:01,170 >> Bel蓹 ki, bu add谋m olacaq v蓹 funksiyalar谋 daxil dive, 82 00:04:01,170 --> 00:04:04,750 蓹v蓹zin蓹 yaln谋z icra var v蓹 funksiyas谋 davam 83 00:04:04,750 --> 00:04:07,380 Siz ay谋klama 眉莽眉n ist蓹yirik ki. 84 00:04:07,380 --> 00:04:09,870 茝g蓹r bilm蓹k ist蓹yirsinizs蓹 d蓹yi艧蓹n d蓹y蓹ri, 85 00:04:09,870 --> 00:04:12,507 Siz p, v蓹 ya 莽ap ed蓹 bil蓹rsiniz, v蓹 sonra d蓹yi艧蓹n ad谋. 86 00:04:12,507 --> 00:04:15,090 V蓹 siz蓹 莽ap ed蓹c蓹k GDB 蓹traf m眉hit daxilind蓹, 87 00:04:15,090 --> 00:04:19,110 d蓹yi艧蓹n ad谋 ki, S蓹ninl蓹 me-- d蓹yi艧蓹n d蓹y蓹ri b蓹han蓹 88 00:04:19,110 --> 00:04:20,064 adl谋 etdik ki. 89 00:04:20,064 --> 00:04:23,230 H蓹r d蓹y蓹rl蓹ri bilm蓹k ist蓹yirsinizs蓹 burada yerli d蓹yi艧蓹n 蓹l莽atan 90 00:04:23,230 --> 00:04:25,970 Hal-haz谋rda olan sizin proqram, siz info yerli ed蓹bil蓹rsiniz. 91 00:04:25,970 --> 00:04:28,332 Bu 莽ox s眉r蓹tli var sonra p yazaraq v蓹 n蓹 olursa olsun, 92 00:04:28,332 --> 00:04:30,540 b眉t眉n h蓹yata listing Siz m枚vcud bilirik d蓹yi艧蓹nl蓹r. 93 00:04:30,540 --> 00:04:34,370 Siz info yerli yaz谋n v蓹 bu ed蓹 bil蓹rsiniz sizin 眉莽眉n h蓹r 艧eyi 莽ap ed蓹c蓹k. 94 00:04:34,370 --> 00:04:37,770 Sonrak谋 q蓹d蓹r olan bt edir Back Trace 眉莽眉n q谋sa. 95 00:04:37,770 --> 00:04:41,680 陌ndi, 眉mumiyy蓹tl蓹, x眉susil蓹 erk蓹n CS50, 96 00:04:41,680 --> 00:04:44,450 Siz, h蓹qiq蓹t蓹n, m眉nasib蓹til蓹 olmayacaq BT, v蓹 ya geri iz istifad蓹 etm蓹k, 97 00:04:44,450 --> 00:04:47,860 funksiyalar谋 olan deyilik, 莽眉nki dig蓹r funksiyalar谋 z蓹ng. 98 00:04:47,860 --> 00:04:50,450 >> Siz 蓹sas z蓹ng bir ola bil蓹r funksiyas谋, lakin y蓹qin ki, var. 99 00:04:50,450 --> 00:04:53,199 Siz dig蓹r funksiyas谋 yoxdur ba艧qa bir funksiyas谋, z蓹ng ed蓹n 100 00:04:53,199 --> 00:04:54,880 ba艧qa bir funksiyas谋 莽a臒谋r谋r, v蓹 s. 101 00:04:54,880 --> 00:04:57,550 Lakin proqramlar谋 daha 莽ox almaq kimi kompleks, x眉susil蓹 102 00:04:57,550 --> 00:05:00,290 i艧 ba艧lamaq zaman recursion il蓹 geri iz 103 00:05:00,290 --> 00:05:05,150 imkan 眉莽眉n h蓹qiq蓹t蓹n faydal谋 艧蓹kild蓹 ola bil蓹r c眉r 眉莽眉n b蓹zi kontekstind蓹 almaq 104 00:05:05,150 --> 00:05:06,460 M蓹n proqram谋 edir蓹m. 105 00:05:06,460 --> 00:05:10,590 Bel蓹 ki, sizin kodu yazd谋q dem蓹k v蓹 Siz 蓹sas bir funksiyas谋 莽a臒谋r谋r bilirik ki, 106 00:05:10,590 --> 00:05:14,720 bir funksiyas谋 莽a臒谋r谋r f, funksiyas谋 h 莽a臒谋r谋r g. 107 00:05:14,720 --> 00:05:17,650 Bel蓹likl蓹, biz bir ne莽蓹 qat var qu艧 balas谋 burada olur. 108 00:05:17,650 --> 00:05:19,440 >> Siz daxilind蓹 蓹g蓹r Sizin gdb 蓹traf m眉hit, 109 00:05:19,440 --> 00:05:21,640 v蓹 sizin daxili bilirik saat, ancaq unutmaq 110 00:05:21,640 --> 00:05:27,210 Siz harada siz var n蓹 haqq谋nda Siz BT, v蓹 ya geri iz yaz谋n are--, 111 00:05:27,210 --> 00:05:32,370 v蓹 bu, h, q h蓹yata 蓹sas f 莽ap ed蓹c蓹k b蓹zi dig蓹r m蓹lumatlar yana艧谋 olan 112 00:05:32,370 --> 00:05:35,984 bir ipucu verir ki, OK 蓹sas adl谋 f adl谋 g f, g, h adl谋 113 00:05:35,984 --> 00:05:37,900 v蓹 harada M蓹n Hal-haz谋rda m蓹nim proqram谋 edir蓹m. 114 00:05:37,900 --> 00:05:41,380 Bel蓹 ki, h蓹qiq蓹t蓹n faydal谋 ola bil蓹r x眉susil蓹 gdb sirli-biznes kimi 115 00:05:41,380 --> 00:05:45,667 , bir az b枚y眉k olur h蓹r 艧eyi tam olaraq harada tapmaq. 116 00:05:45,667 --> 00:05:48,500 N蓹hay蓹t, proqram g枚r眉l蓹n zaman, Bitirdi臒inizde v蓹 ya ay谋klama 117 00:05:48,500 --> 00:05:50,125 v蓹 眉z add谋m ist蓹yir蓹m gdb m眉hitd蓹n, 118 00:05:50,125 --> 00:05:51,940 bu 莽谋xmaq nec蓹 bilm蓹k k枚m蓹k edir. 119 00:05:51,940 --> 00:05:55,500 Siz q yaz谋n v蓹 ya 莽谋xmaq 眉莽眉n, t蓹rk ed蓹 bil蓹r. 120 00:05:55,500 --> 00:05:59,220 陌ndi, bu g眉n Videonu 蓹vv蓹l M蓹n arabas谋 proqram haz谋rlad谋 121 00:05:59,220 --> 00:06:03,900 M蓹n t蓹rtib adl谋 buggy1, buggy1.c kimi tan谋nan fayl谋. 122 00:06:03,900 --> 00:06:06,500 Siz bu g枚zl蓹y蓹 bil蓹r kimi Proqram fakt arabas谋 var. 123 00:06:06,500 --> 00:06:08,990 Bir 艧ey yanl谋艧 gedir M蓹n c蓹hd v蓹 莽al谋艧t谋r谋n. 124 00:06:08,990 --> 00:06:13,014 陌ndi t蓹蓹ss眉f ki, s蓹hv蓹n M蓹nim buggy1.c fayl silindi 125 00:06:13,014 --> 00:06:15,930 bel蓹 qaydada m蓹n蓹 anlamaq 眉莽眉n n蓹 bu proqram il蓹 yanl谋艧 gedir 126 00:06:15,930 --> 00:06:18,770 M蓹n istifad蓹 etm蓹k 眉莽眉n gedir蓹m GDB c眉r kor-koran蓹, 莽al谋艧谋r 127 00:06:18,770 --> 00:06:22,372 Bu proqram gezinmek 眉莽眉n yanl谋艧 gedir n蓹 anlamaq. 128 00:06:22,372 --> 00:06:24,580 Amma vasit蓹l蓹rd蓹n istifad蓹 biz art谋q haqq谋nda 枚yr蓹ndim 129 00:06:24,580 --> 00:06:27,700 biz olduqca 莽ox anlamaq olar bu d蓹qiq n蓹. 130 00:06:27,700 --> 00:06:30,740 Bel蓹 ki, 眉z蓹rind蓹 r蓹hb蓹rlik ed蓹k CS50 IDE v蓹 bir g枚z var. 131 00:06:30,740 --> 00:06:33,155 OK, bel蓹 ki, biz buraday谋q my CS50 IDE 蓹traf m眉hit, 132 00:06:33,155 --> 00:06:35,697 v蓹 m蓹n bir az zoom laz谋md谋r bel蓹 ki, bir az daha 莽ox ola bil蓹r. 133 00:06:35,697 --> 00:06:38,530 M蓹nim terminal p蓹nc蓹r蓹, m蓹n siyah谋s谋n谋 蓹g蓹r M蓹nim cari direktoru m蓹zmunu 134 00:06:38,530 --> 00:06:41,250 ls, biz ki, m蓹n g枚r眉rs眉n眉z m蓹nb蓹 fayllar谋 bir ne莽蓹 var 135 00:06:41,250 --> 00:06:44,982 Burada, o c眉ml蓹d蓹n 蓹vv蓹ll蓹r buggy1 m眉zakir蓹 olunub. 136 00:06:44,982 --> 00:06:46,940 N蓹 d蓹qiq zaman gedir M蓹n c蓹hd v蓹 buggy1 ax谋r. 137 00:06:46,940 --> 00:06:47,773 Yax艧谋 tapmaq imkan verir. 138 00:06:47,773 --> 00:06:52,510 M蓹n dot 莽izgi n枚v眉 arabas谋, m蓹n Enter d眉ym蓹sini bas谋n. 139 00:06:52,510 --> 00:06:53,670 >> Seqmentasiya 莽at谋艧mazl谋qlar. 140 00:06:53,670 --> 00:06:55,000 Bu yax艧谋 deyil. 141 00:06:55,000 --> 00:06:57,180 Siz geri varsa, seqmentasiya g眉nah ad蓹t蓹n 142 00:06:57,180 --> 00:07:01,540 biz yadda艧 daxil zaman ba艧 verir biz toxunmaq icaz蓹 deyilik ki. 143 00:07:01,540 --> 00:07:03,820 Biz el蓹 蓹ld蓹 etdik h眉dudlar谋ndan k蓹narda 144 00:07:03,820 --> 00:07:05,995 n蓹 proqram谋, compiler biz蓹 verdi. 145 00:07:05,995 --> 00:07:08,310 V蓹 bel蓹 art谋q bir ipucu Toolbox saxlamaq 眉莽眉n 146 00:07:08,310 --> 00:07:10,660 biz ay谋klama prosesi ba艧layacaq kimi. 147 00:07:10,660 --> 00:07:13,620 Something burada bir az yanl谋艧 ke莽mi艧dir. 148 00:07:13,620 --> 00:07:15,935 >> B眉t眉n h眉quqlar, bel蓹 ed蓹k start GDB 蓹traf m眉hit蓹 q蓹d蓹r 149 00:07:15,935 --> 00:07:19,030 biz anlamaq bil蓹r g枚rmek d蓹qiq problemdir. 150 00:07:19,030 --> 00:07:21,674 M蓹n ekran sil gedir蓹m v蓹 m蓹n gdb yaz谋n gedir蓹m 151 00:07:21,674 --> 00:07:24,340 yen蓹 gdb m眉hit daxil etm蓹k, v蓹 proqram ad谋 152 00:07:24,340 --> 00:07:27,450 M蓹n buggy1 debug etm蓹k ist蓹yir蓹m ki,. 153 00:07:27,450 --> 00:07:30,182 Biz oxu, bir az mesaj almaq buggy1 simvollar谋, g枚r眉l蓹n. 154 00:07:30,182 --> 00:07:32,390 O dem蓹kdir ki, b眉t眉n bu 莽谋xard谋 deyil birlikd蓹 b眉t眉n kodu, 155 00:07:32,390 --> 00:07:35,570 v蓹 indi instantly edilmi艧dir Gdb, v蓹 getm蓹k 眉莽眉n haz谋r. 156 00:07:35,570 --> 00:07:37,140 >> 陌ndi m蓹n n蓹 ist蓹yir蓹m? 157 00:07:37,140 --> 00:07:39,130 Siz n蓹 xat谋rlay谋ram yoxdur ilk add谋m ad蓹t蓹n 158 00:07:39,130 --> 00:07:42,540 M蓹n bu m眉hitd蓹 daxilind蓹 deyil蓹m sonra? 159 00:07:42,540 --> 00:07:44,540 脺mid edir蓹m ki, m眉蓹yy蓹n etdi fasil蓹 point, 莽眉nki 160 00:07:44,540 --> 00:07:46,240 蓹slind蓹 m蓹n bunu ist蓹yir蓹m n蓹. 161 00:07:46,240 --> 00:07:47,990 陌ndi yoxdur bu m蓹nb蓹 kodu 162 00:07:47,990 --> 00:07:50,948 脰n眉md蓹 olan y蓹qin ki, tipik istifad蓹 halda, yolu il蓹. 163 00:07:50,948 --> 00:07:52,055 Siz y蓹qin ki, olacaq. 164 00:07:52,055 --> 00:07:52,680 Bel蓹 ki, yax艧谋. 165 00:07:52,680 --> 00:07:55,790 Amma f蓹rz deyil, n蓹 etm蓹k Bildiyiniz bir funksiyas谋 166 00:07:55,790 --> 00:07:58,880 h蓹r bir C proqram m枚vcuddur? 167 00:07:58,880 --> 00:08:04,420 N蓹 b枚y眉k v蓹 ya nec蓹 m眉r蓹kk蓹b Bu, bu funksiya m眉tl蓹q m枚vcuddur. 168 00:08:04,420 --> 00:08:05,440 Main, sa臒? 169 00:08:05,440 --> 00:08:08,870 >> Bel蓹 ki, b眉t眉n ba艧qa, biz bil蓹r u臒ursuz 蓹sas bir fasil蓹 n枚qt蓹sini qurmaq. 170 00:08:08,870 --> 00:08:12,200 V蓹 yen蓹, m蓹n yaln谋z yaz谋n bil蓹r 蓹v蓹zin蓹 b, 蓹sas pozub. 171 00:08:12,200 --> 00:08:14,650 V蓹 siz maraql谋 oldu臒unuz halda, 蓹g蓹r He莽 bir uzun komanda h蓹yata yaz谋n 172 00:08:14,650 --> 00:08:16,800 v蓹 sonra ki, h蓹yata yanl谋艧 艧ey tipli, 173 00:08:16,800 --> 00:08:18,770 v蓹 xilas olmaq ist蓹yirik b眉t眉n M蓹n yaln谋z kimi, 174 00:08:18,770 --> 00:08:22,029 Siz olan, Control U bil蓹r h蓹r 艧eyi silm蓹k v蓹 siz蓹 geri g蓹tirm蓹k 175 00:08:22,029 --> 00:08:23,570 kursor x蓹tl蓹ri 蓹vv蓹lin蓹. 176 00:08:23,570 --> 00:08:26,569 Yaln谋z bas谋b saxlay谋n 莽ox daha s眉r蓹tli bir 莽ox silm蓹k v蓹 ya bir d蓹st蓹 d蓹f蓹 vuraraq 177 00:08:26,569 --> 00:08:27,080 眉z蓹rind蓹. 178 00:08:27,080 --> 00:08:28,740 >> Bel蓹 ki, biz 蓹sas bir fasil蓹 n枚qt蓹sini qurmaq laz谋md谋r. 179 00:08:28,740 --> 00:08:32,970 V蓹 G枚rd眉y眉n眉z kimi, biz var deyir fayl buggy1.c bir fasil蓹 n枚qt蓹sini qurmaq, 180 00:08:32,970 --> 00:08:36,330 v蓹 y蓹qin ilk line 茝sas kodu x蓹tti yeddi. 181 00:08:36,330 --> 00:08:38,080 Yen蓹 yoxdur Burada m蓹nb蓹 fayl, 182 00:08:38,080 --> 00:08:40,429 ancaq ki, g眉man laz谋md谋r M蓹n蓹 h蓹qiq蓹ti s枚yl蓹yir蓹m. 183 00:08:40,429 --> 00:08:44,510 V蓹 sonra, m蓹n yaln谋z 莽al谋艧谋ram v蓹 r, proqram run. 184 00:08:44,510 --> 00:08:45,360 Proqram ba艧layaraq. 185 00:08:45,360 --> 00:08:48,160 B眉t眉n h眉quqlar, bel蓹 ki, bu mesaj谋 bir az sirli edir. 186 00:08:48,160 --> 00:08:50,160 Lakin 蓹sas蓹n n蓹 Burada ba艧 ver蓹n yaln谋z var edir 187 00:08:50,160 --> 00:08:53,350 M蓹n fasil蓹 t蓹艧kil etdik m蓹n蓹 izah point, break point say谋 1. 188 00:08:53,350 --> 00:08:55,877 >> V蓹 sonra, kodu ki, x蓹tt, Bel蓹 fayl v蓹ya qovluq yoxdur. 189 00:08:55,877 --> 00:08:57,710 yegan蓹 s蓹b蓹bi ki, Hesab edir蓹m ki, mesaj g枚r眉yorum 190 00:08:57,710 --> 00:09:00,800 M蓹n s蓹hv蓹n 莽眉nki M蓹nim buggy.c fayl silindi. 191 00:09:00,800 --> 00:09:04,050 M蓹nim buggy1.c fayl m枚vcud 蓹g蓹r cari kataloq, 192 00:09:04,050 --> 00:09:06,920 orada h蓹qiq蓹t蓹n ki line sa臒 m蓹n蓹 n蓹 kodu x蓹tt 193 00:09:06,920 --> 00:09:08,214 s枚z眉n deyilir. 194 00:09:08,214 --> 00:09:09,380 T蓹蓹ss眉f ki, m蓹n bunu silindi. 195 00:09:09,380 --> 00:09:14,790 Biz n枚v getm蓹k 眉莽眉n var olacaq daha kor-koran蓹 bu bir az vasit蓹sil蓹. 196 00:09:14,790 --> 00:09:17,330 >> OK, bel蓹 ki, g枚r蓹k, n蓹 M蓹n burada n蓹 etm蓹k ist蓹yirsiniz? 197 00:09:17,330 --> 00:09:21,770 Yax艧谋, m蓹n yerli n蓹 bilm蓹k ist蓹yir蓹m d蓹yi艧蓹nl蓹r b蓹lk蓹 m蓹nim 眉莽眉n m枚vcuddur. 198 00:09:21,770 --> 00:09:23,570 M蓹n proqram a莽谋lm谋艧 etdik. 199 00:09:23,570 --> 00:09:28,515 Nin ola bil蓹r n蓹 g枚rm蓹k ed蓹k art谋q bizim 眉莽眉n ba艧lat谋lm谋艧. 200 00:09:28,515 --> 00:09:31,430 M蓹n Info yerli, he莽 bir yerli yaz谋n. 201 00:09:31,430 --> 00:09:33,960 B眉t眉n h眉quqlar ki, deyil, bel蓹 ki, M蓹n蓹 informasiya ton verir. 202 00:09:33,960 --> 00:09:37,600 M蓹n c蓹hd v蓹 bir d蓹yi艧蓹n 莽ap ed蓹 bil蓹r, amma he莽 bir d蓹yi艧蓹n adlar谋n谋 bilmir蓹m. 203 00:09:37,600 --> 00:09:39,930 M蓹n geri iz c蓹hd ed蓹 bil蓹r, amma 蓹sas daxilind蓹 deyil蓹m, 204 00:09:39,930 --> 00:09:43,710 bel蓹 ki, m蓹n deyil bilirik 陌ndi bir funksiyas谋 z蓹ng. 205 00:09:43,710 --> 00:09:47,710 >> M蓹nim yaln谋z variantlar谋 kimi bel蓹 g枚r眉n眉r n v蓹 ya istifad蓹 v蓹 dal谋艧 ba艧lamaq 眉莽眉n. 206 00:09:47,710 --> 00:09:49,630 M蓹n n istifad蓹 gedir蓹m. 207 00:09:49,630 --> 00:09:51,180 Bel蓹 ki, n yaz谋n. 208 00:09:51,180 --> 00:09:53,060 Gosh Aman, n蓹 burada davam edir. 209 00:09:53,060 --> 00:09:56,260 Program siqnallar谋 q蓹bul SIGSEGV seqmentasiya g眉nah, 210 00:09:56,260 --> 00:09:57,880 v蓹 sonra m蓹hsullar谋n谋n b眉t眉n d蓹st蓹. 211 00:09:57,880 --> 00:09:58,880 M蓹n art谋q overwhelmed edir蓹m. 212 00:09:58,880 --> 00:10:00,980 B蓹li, h蓹qiq蓹t蓹n var bir 莽ox burada 枚yr蓹nildi. 213 00:10:00,980 --> 00:10:02,520 Bel蓹 ki, n蓹 bu biz蓹 n蓹 deyir? 214 00:10:02,520 --> 00:10:09,180 N蓹 biz蓹 deyir, bu proqram deyil, haqq谋nda, lakin h蓹l蓹 seg g眉nah. 215 00:10:09,180 --> 00:10:12,550 V蓹 x眉susil蓹, m蓹n gedir蓹m daha burada zoom, 216 00:10:12,550 --> 00:10:18,980 bu bar蓹d蓹 seg g眉nah haqq谋nda bir 艧ey strcmp 莽a臒谋r谋b. 217 00:10:18,980 --> 00:10:22,705 >> 陌ndi biz m眉zakir蓹 ola bil蓹r geni艧 f蓹aliyy蓹t g枚st蓹rir. 218 00:10:22,705 --> 00:10:25,580 Biz fikrind蓹 deyilik, 莽眉nki is-- h蓹r funksiyas谋 haqq谋nda dan谋艧maq ki, 219 00:10:25,580 --> 00:10:28,610 C standart m枚vcuddur kitabxana lakin onlar sizin 眉莽眉n b眉t眉n m枚vcud ist蓹yirik 220 00:10:28,610 --> 00:10:32,110 Bir almaq, x眉susil蓹 d蓹 蓹g蓹r reference.cs50.net baxmaq. 221 00:10:32,110 --> 00:10:35,000 V蓹 strcmp h蓹qiq蓹t蓹n g眉cl眉 daxili m枚vcud funksiyas谋 222 00:10:35,000 --> 00:10:38,070 string.h header bir m枚vzu fayl, 223 00:10:38,070 --> 00:10:41,970 funksiyalar谋 h蓹sr olunur fayl谋 il蓹 i艧 v蓹 strings manipulyasiya. 224 00:10:41,970 --> 00:10:49,830 >> V蓹 x眉susil蓹, n蓹 strcmp yoxdur edir iki strings d蓹y蓹rl蓹r m眉qayis蓹 edir. 225 00:10:49,830 --> 00:10:54,160 Bel蓹likl蓹, m蓹n Seqmentasiya g眉nah haqq谋nda Ben z蓹ng g枚r眉n眉r strcmp 眉莽眉n. 226 00:10:54,160 --> 00:10:58,530 M蓹n n edib v蓹 蓹slind蓹 m蓹n mesaj谋 almaq proqram siqnal SIGSEGV il蓹 xitam 227 00:10:58,530 --> 00:11:01,370 seqmentasiya g眉nah. Bel蓹 ki, indi M蓹n, h蓹qiq蓹t蓹n, seg faulted var, 228 00:11:01,370 --> 00:11:06,479 v蓹 proqram olduqca var 莽ox s蓹m蓹r蓹li imtina. 229 00:11:06,479 --> 00:11:07,770 Bu proqram谋n sonu. 230 00:11:07,770 --> 00:11:10,370 Bu pozuldu, bu q蓹zaya u臒ray谋b. 231 00:11:10,370 --> 00:11:14,740 Bel蓹 ki, bir 莽ox deyil idi, lakin m蓹n h蓹qiq蓹t蓹n kifay蓹t q蓹d蓹r bir az 枚yr蓹nm蓹k idi 232 00:11:14,740 --> 00:11:16,747 bu ki莽ik t蓹cr眉b蓹. 233 00:11:16,747 --> 00:11:17,580 M蓹n n蓹 枚yr蓹ndim? 234 00:11:17,580 --> 00:11:22,020 B蓹li, m蓹nim proqram q蓹zalar谋 d蓹rhal olduqca 莽ox. 235 00:11:22,020 --> 00:11:26,300 M蓹nim proqram q蓹zalar谋 bir strcmp z蓹ng, amma 236 00:11:26,300 --> 00:11:30,560 h蓹r hans谋 yerli d蓹yi艧蓹nl蓹r yoxdur m蓹nim Yem蓹yini zamanda proqram. 237 00:11:30,560 --> 00:11:37,320 Bel蓹 ki, n蓹 string, v蓹 ya strings, M蓹n b蓹lk蓹 m眉qayis蓹 ola bil蓹r. 238 00:11:37,320 --> 00:11:42,140 M蓹n he莽 bir yerli yoxsa d蓹yi艧蓹nl蓹r, g眉c 239 00:11:42,140 --> 00:11:45,520 b蓹lk蓹 bir m蓹n var yax艧谋d谋r ki, t蓹xmin do臒ru ola bil蓹r qlobal d蓹yi艧蓹n. 240 00:11:45,520 --> 00:11:47,670 >> Amma, 眉mumiyy蓹tl蓹, g枚r眉n眉r M蓹n m眉qayis蓹 edir蓹m 241 00:11:47,670 --> 00:11:52,070 m枚vcud deyil ki, bir 艧ey. 242 00:11:52,070 --> 00:11:54,130 Bel蓹 ki, ara艧d谋rmaq imkan bir az daha ki. 243 00:11:54,130 --> 00:11:55,120 Bel蓹likl蓹, m蓹n ekran sil gedir蓹m. 244 00:11:55,120 --> 00:11:57,536 M蓹n h蓹yata 莽谋xmaq 眉莽眉n gedir蓹m Ikinci gdb m眉hit. 245 00:11:57,536 --> 00:12:01,300 M蓹n OK, d眉艧眉nc蓹 deyil蓹m, var m蓹nim proqram he莽 bir yerli d蓹yi艧蓹nl蓹rin. 246 00:12:01,300 --> 00:12:06,444 M蓹n ke莽m蓹k g眉man edir蓹m b蓹lk蓹 g枚r蓹s蓹n bir command line arqument kimi simli. 247 00:12:06,444 --> 00:12:07,610 Bel蓹 ki, yaln谋z bu test imkan verir. 248 00:12:07,610 --> 00:12:09,020 M蓹n 蓹vv蓹l bu h蓹yata yoxdur. 249 00:12:09,020 --> 00:12:14,244 >> M蓹n bu proqram run b蓹lk蓹 蓹g蓹r in n蓹z蓹r salaq bir command line arqumenti il蓹 i艧l蓹yir. 250 00:12:14,244 --> 00:12:16,140 Huh, he莽 seqmentasiyas谋 g眉nah. 251 00:12:16,140 --> 00:12:17,870 Bu, sad蓹c蓹 m蓹n bunu h蓹yata fiqurlu ki, m蓹n蓹. 252 00:12:17,870 --> 00:12:19,170 Bel蓹 ki, b蓹lk蓹 ki, fix burada. 253 00:12:19,170 --> 00:12:27,560 M蓹n geri getm蓹k v蓹 蓹g蓹r h蓹qiq蓹t蓹n baxmaq buggy1.c faktiki m蓹nb蓹 kodu, 254 00:12:27,560 --> 00:12:31,180 edir蓹m n蓹 olsa kimi g枚r眉n眉r M蓹n olmadan strcmp z蓹ng edilm蓹si al谋ram 255 00:12:31,180 --> 00:12:34,010 蓹slind蓹 argv [1] m枚vcud olub-olmad谋臒谋n谋 yoxlan谋lmas谋. 256 00:12:34,010 --> 00:12:36,730 Bu, h蓹qiq蓹t蓹n deyil buggy1.c 眉莽眉n m蓹nb蓹 kodu. 257 00:12:36,730 --> 00:12:38,855 Bel蓹likl蓹, m蓹n, h蓹qiq蓹t蓹n, ehtiyac n蓹 m蓹nim proqram d眉zeltmek 眉莽眉n burada n蓹, 258 00:12:38,855 --> 00:12:40,835 f蓹rz M蓹n , m蓹n蓹 qar艧谋s谋nda fayl 259 00:12:40,835 --> 00:12:44,740 yaln谋z etm蓹k 眉莽眉n bir 莽ek 蓹lav蓹 etm蓹k 蓹min argc 2 b蓹rab蓹rdir. 260 00:12:44,740 --> 00:12:47,780 Bel蓹 ki, bu n眉mun蓹 yen蓹, dediyim kimi sa臒, bir az g枚st蓹rdi edir? 261 00:12:47,780 --> 00:12:49,840 Siz, 眉mumiyy蓹tl蓹, fikrind蓹 deyilik t蓹sad眉f蓹n sizin m蓹nb蓹 kodu silm蓹k 262 00:12:49,840 --> 00:12:51,820 v蓹 sonra c蓹hd var v蓹 proqram debug. 263 00:12:51,820 --> 00:12:53,120 Amma 眉mid edir蓹m ki, bu, verdi Bir ill眉strasiya 264 00:12:53,120 --> 00:12:55,120 艧eyi n枚v ki, haqq谋nda d眉艧眉n眉r ola bil蓹r 265 00:12:55,120 --> 00:12:56,610 kimi proqram ay谋klama edirik. 266 00:12:56,610 --> 00:12:58,760 >> Burada i艧l蓹r d枚vl蓹t n蓹dir? 267 00:12:58,760 --> 00:13:00,510 N蓹 d蓹yi艧蓹nl蓹r I do M蓹n蓹 蓹l莽atan var? 268 00:13:00,510 --> 00:13:03,600 D蓹qiq m蓹nim proqram n蓹 x蓹ttind蓹, 艧aqq谋lt谋l谋, 269 00:13:03,600 --> 00:13:05,240 n蓹 funksiyas谋 n蓹 z蓹ng haqq谋nda? 270 00:13:05,240 --> 00:13:06,952 Ipu莽lar谋 hans谋 ki, m蓹n蓹 verir? 271 00:13:06,952 --> 00:13:08,910 V蓹 d蓹qiq zehniyy蓹t c眉r ki, 272 00:13:08,910 --> 00:13:12,820 Siz etdiyiniz zaman 蓹ld蓹 edilm蓹lidir Sizin proqramlar谋 ay谋klama haqq谋nda d眉艧眉n眉r. 273 00:13:12,820 --> 00:13:13,820 >> M蓹n Doug Lloyd edir蓹m. 274 00:13:13,820 --> 00:13:16,140 Bu CS50 edir. 275 00:13:16,140 --> 00:15:08,642