[? DAN ARMADARAS:?] Hi, Mwen se [? Dann Armadaras?]. Jodi a, nou ap ale nan dwe gade nan debogaj. Se pa sèlman yo nou pral pale sou kèk teknik, men tou, nou ap ale nan gade nan kèk nan karakteristik yo ki genyen nan IDE la CS50 ki pèmèt ou fasil debug yon pwogram. Jis yon egzanp sou yon bagay ki ka ale mal ak li la aktyèlman yon bagay ke nou te deja wè anvan. Nan ka sa a, sa a se yon pwogram C ki asepte yon nonb antye relatif soti nan itilizatè a, divize li pa de, epi li bay pwodiksyon an tounen nan itilizatè a. Koulye a, soti nan sa ki nou te wè pi bonè nan konferans, nou konnen ke sa a pral aktyèlman lakòz kalite espesifik nan pwoblèm divizyon lè nou gen nimewo enpè. Espesyalman, nou pral jis jete anyen apre pwen an desimal. Koulye a, nou konnen ke sa a k ap pase yo ka a. Men, si nou kouri li, nou ka konfime sispèk nou an, an premye, pa konpile. Lè sa a,, pa kouri ak k ap antre nan yon nimewo enpè. Sa a se pa gen anyen nouvo. Men, sa a se aktyèlman yon egzanp sou yon ensèk ki ka egziste nan yon pwogram pi gwo ki vin pi rèd foule anba. Menm si nou konnen ki sa pwoblèm nan se, neu a vre nan pwoblèm nan ta ka ap eseye idantifye espesyalman kote erè a rive, idantifye ki sa ke pwoblèm se, ak Lè sa a repare-l. Se konsa, bay sa a kòm yon egzanp nan sa ki ta kapab yon bagay ke nou deja konnen men yo ka antere l ' nan lòt eleman nan kòd la. Se konsa, louvri sous sa a lòt dosye Kòd kòm yon egzanp, pwoblèm divizyon sa a se kounye a yon pati nan yon pwogram pi gwo. Toujou ta kapab yon ti kras ti jan parvenus, epi nou ka kapab fasil idantifye li, espesyalman depi nou ap jis diskite sou sa a. Men, nou kapab konnen ki ke sa a pwoblèm ka egziste sou yon echèl pi gwo. Si m 'konpile sa a epi kounye a kouri li, antre nan yon nimewo enpè, nou ka wè ke nou pa jwenn jisteman pwodiksyon an pou n 'ka te espere. Nan ka sa a an patikilye, nou ta ka di ke nou vle konsidere tout nan nimewo ki soti nan yon jiska kèk nimewo espesifik. Apre sa, nou ka wè ke nou gen yon varyete de pwoblèm isit la si nou ap sorti, tou senpleman, 0 ak 1 lè nou bay yon opinyon nan 5. Se konsa, nou deja konnen ke gen nan yon pwoblèm isit la. Men, nou pa ka konnen jisteman kote pwoblèm sa a aktyèlman egziste. Koulye a, youn nan fason ki ki nou ka eseye ranje sa a se yon bagay ki nou te deja te prezante yo. Nou ka jis sèvi ak li sou yon echèl pi gwo. Sou liy 14, nou gen sa a fonksyon printf, ki pèmèt nou enprime soti eta a nan divès kalite moso nan enfòmasyon. Lè sa a se yon bagay ke ou ta dwe ogmante nan pwogram ou an pou yo eseye figi konnen egzakteman sa ki nan vini nan divès kalite liy nan kòd. Se konsa, menm si sa a se la pa pwodiksyon final ke nou aktyèlman vle yo pwodwi soti nan pwogram sa a, nou toujou ta ka gen kèk dbug deklarasyon kote nou ka eseye figi konnen pwesizeman sa ki k ap pase andedan nan Kòd nou an. Se konsa, nan ka sa a, mwen vle printf épi mo klé dbug. Nan ka sa a, sa a se jis yon fisèl dbug ke mwen se monte-mete konsa ke li vin trè klè nan pwodiksyon an nan kòd m ' sa li ye ke mwen vle montre. Ak pwodiksyon isit la nimewo a ke nou te calculée. Nan ka sa a, mwen ta ka vle konnen jisteman sa k ap pase anvan ak apre kèk kalkil espesifik. Se konsa, mwen ta ka sèvi ak yon printf anvan epi apre sa liy nan kòd. Nan ka sa a, mwen te kapab menm fè l 'yon ti jan ti kras pi plis klè lè li di dbug anvan ak dbug apre se konsa ke mwen pa konfonn tèt mwen ak liy miltip ki gade idantik. Koulye a, si nou compile sa a epi kouri li, antre nan yon nimewo tankou senk ankò, nou ka wè ke nou gen kounye a pwodiksyon anvan ak apre epi jwenn ke nou pa te fè yon klè divizyon oswa klè li te gen nan nimewo a ke nou aktyèlman vle fè. Koulye a, nan ka sa a, sa a se pa reyèlman yon pwodiksyon klè. Li pa reyèlman yon rezilta klè ke nou vle soti nan pwogram sa a an patikilye. Lè sa a se, ankò, yon ti kras parvenus. Men, petèt, youn nan bagay sa yo ke nou te ka fè si spesifikasyon la te di ke nou vle divize sa a pa 2 epi ajoute 1-- se konsa nan lòt mo, nou vle wonn leve- Lè sa a, nou ta ka konnen ke nou te kapab fè ke bagay patikilye, nan ka sa a. Koulye a, isit la nou konnen ke nou yo pral kapab ajoute 1 nan nimewo mwatye nou an. Se pou yo compile sa a ak konfime ke sa a se konpòte wout la ke nou vle. Nou ka wè ke kounye a anvan gen, nou gen nimewo a 5. Apre li fin, nou gen nimewo a 3, ki selon spesifikasyon nou an, se sa nou te vle fè. Men, si nou gade nan nan pwodiksyon isit la, nou kapab wè ke nou ta ka gen yon lòt ensèk tout ansanm, ki se ke nou ap kòmanse konte ki ant 0 nou an. Koulye a, ankò, sa a se yon bagay ke nou te wè nan tan lontan an epi nou ka ranje byen fasilman. Men, nan ka sa a, nou tou te gen benefis la pou yo sèvi ak deklarasyon an printf dirèkteman andedan nan la pou riban konnen jisteman ki kote ki erè te rive. Deklarasyon Se konsa, printf se trè itil nan ede w detèmine kote, jisteman nan kòd sous ou a, yon erè espesifik se rive. Apre sa, li la tou enpòtan reyalize ki, menm jan nou ap ekri kòd, nou ta ka gen sipozisyon sou eta a nan yon pwogram. Oubyen èske nou ta ka gen sipozisyon sou sa ki yon pati nan pwogram nan se aktyèlman kòrèk oswa kòrèk lè pita sou jan nou bati sou ke pwogram , epi fè li yon pati nan yon konplèks ak pi gwo pwogram ke nou reyalize ke kèk aspè nan ki se aktyèlman buggy. Lè l sèvi avèk printf ka vrèman ede etwat desann epi idantifye rejyon yo nan yon pwogram ki pa ka dwe konpòte egzakteman wout la ke nou espere, ki baze sou sipozisyon nou an. Men, gen nan lòt zouti disponib, kòm byen, ki pèmèt nou pou yo eseye figi konnen ki kote yon erè se fèt epi tou li, espesyalman, ki sa bagay sa yo ap pase andedan nan pwogram nan. Se konsa, lè l sèvi avèk printf se yon bagay ki itil lè nou vle yo idantifye zòn espesifik nan yon pwogram ki gen kèk ensèk. Men, li tou vin fatigan apre yon ti tan. Nan ka sa a, sa a se yon pwogram relativman senp ak jis youn oubyen de varyab. Apre sa, li vin trè fasil pou nou pou n enprime soti valè a nan tout sa yo varyab nan yon kontèks la nan pwogram nan pi gwo. Men, nou ta ka gen yon diferan pwogram ki gen anpil varyab. E li pa pouvwa dwe byen tèlman fasil yo sèvi ak printf pou yo eseye evalye sa k ap pase nan chak nan sa yo varyab yon sèl kòm pwogram nan se egzekite. Genyen yon pwogram ki egziste rele yon pwogram debugjeur. Nan ka sa a, youn nan ki n ap itilize se debugjeur a GNU, oswa gdb, ki pèmèt nou yo enspekte entèn nan fonksyonman nan yon pwogram nan yon pi plis detaye fason. Nou ka aktyèlman egzekite Gdb soti nan liy la bay lòd isit la pa senpleman tape gdb a ak lòd ke nou vle debug. Nan ka sa a, konte. Koulye a, nan ka sa a, nou ka wè ke li pote nou nan yon èd memwa ki di gdb. Epi nou ka aktyèlman egzekite kòmandman gdb ki aktyèlman kòmanse ekzekisyon nan la pwogram, sispann li nan sèten pwen, evalye varyab yo ak enspekte varyab yo ki egziste nan eta a ki pwogram nan moman sa patikilye, ak sou sa ak pou fè. Li bay yon anpil nan pouvwa yo ban nou. Men, li jis pou k ap pase ki IDE la CS50 tou bay yon entèfas oswa yon itilizatè koòdone pou gdb ki pèmèt nou fè sa a san yo pa bezwen koòdone nan liy lòd tou sa oswa nan tout menm. Fason ki ke mwen kapab jwenn aksè nan ki se lè l sèvi avèk bouton an dbug nan tèt la anpil nan IDE nan CS50. Koulye a, nan tan lontan an, sa nou genyen wè se ke nou itilize yo lòd, ki liy yo konpile ak Lè sa a kouri nan yon pwogram. Bouton an dbug fè tou de nan sa yo etap. Men, li tou, y ap pote yo moute nan debugjeur tab sou bò dwat la byen lwen ki pèmèt nou yo enspekte yon varyete nan pwopriyete nan pwogram nan kòm li se egzekite. Si m 'klike sou dbug, nan ka sa ka, li pral pote yo moute yon nouvo tab nan konsole a fenèt nan pati anba a anpil. Epi ou ka wè ke tab sa a gen kèk enfòmasyon nan tèt la anpil. Epi nou ka lajman inyore sa a. Men, youn nan bagay ki ke nou vle a yon avi se ke li sorties menm bagay la ke nou ta jwenn si nou te eseye kouri fè sou pwogram nan C nan fennèt la tèminal. Isit la, nou ka wè li nan kouri rezone, epi li gen yon varyete de drapo, epi li se konpile dosye count.c nou an, ki te tab la chwazi nan moman an ke mwen frape dbug. Se konsa, sa a se trè itil paske kounye a lè l sèvi avèk sa a bouton dbug, nou ka ansanm konpile ak Lè sa a egzekite pwogram nan ke nou aktyèlman vle kouri. Youn nan drapo yo se sa ki enpòtan, nan ka sa a, nou te aktyèlman te lè l sèvi avèk pou tan ki pi long men tou, jis te fè kèk men leve [fèbl], ki se yon sèl sa a isit la menm. Nan sonnen, li di -ggdb3. Nan ka sa a, ki sa nou yo se di rezone, du nou an, se ke nou vle konpile pwogram nou an. Men, tou bay ki sa yo rele enfòmasyon senbòl se konsa ke du a aktyèlman gen aksè nan yon anpil nan enfòmasyon ki kache genyen nan pwogram nan. Plis espesyalman, ki kantite nan fonksyon ke mwen gen, non yo nan moun ki fonksyon, varyab yo, ki kalite ke moun varyab yo, ak yon varyete nan lòt bagay ki ede debugjeur a fè operasyon li yo. Koulye a, gen nan yon lòt bagay sa a, se enpòtan mansyone lè nou ap diskite sou kouri yon pwogram nan fason sa. Remake li gen aktyèlman pote moute yon tab nouvo nan konsole nou an ansanm anba a. Nou pa gen okenn pi long yo kominike dirèkteman ak fenèt la tèminal. Men, sa a nouvo se tab aktyèlman yon fenèt tèminal. Li jis se espesifik nan kouri a pwogram ke nou te kreye. Remake nan pati anba a, nan konbinezon ak kèk pwodiksyon pa sonnen du a ak gdb, ki nou ka lajman inyore, li aktyèlman montre pwodiksyon an nan pwogram nou an nan pati anba a anpil. Koulye a, li enpòtan yo reyalize ki fenèt yon sèl sa a aktyèlman pral montre w nan Sòti nan pwogram ou an men tou, ka aksepte opinyon pou sa pwogram nan, kòm byen. Se konsa, avi ki di tanpri antre nan yon nimewo, ki se pwodiksyon an menm ke nou te te gen nan fenèt la tèminal anvan. Men, li la kounye a yo montre nan tab sa a nouvo. Mwen kapab D 'yon nimewo. Epi, se pral aktyèlman fonksyon kòm nou espere ki montre nou dbug nou an, pwodiksyon, pwodiksyon an ke sa ta kapab buggy, kòm nou te wè anvan. Apre sa, nan pati anba a anpil, li aktyèlman gen kèk pwodiksyon plis soti nan GDP jis di ke Pwogram sa a fin fèt. Koulye a, jan ou te wè nan sa a kouri patikilye a, li pa t 'patikilyèman itil paske menm menm si nou te gen meni an debugjeur vini moute, sa a te toujou yon pwogram kouri. Nan okenn pwen te fè li aktyèlman pran yon poz ekzekisyon pou nou pou kapab enspekte tout nan varyab yo genyen nan. Genyen yon lòt bagay ke nou dwe fè yo nan lòd yo ka resevwa gdb yo rekonèt ke nou vle pran yon poz ekzekisyon nan pwogram lan epi li pa jis pèmèt li kontinye nòmalman jan nou ta nan nenpòt lòt ka. Yo nan lòd yo pran yon poz ekzekisyon, nan kèk liy espesifik, nou bezwen yo kreye sa ki nan rele yon pwen repo. Apre sa, yon pwen repo se trè fasil kreye nan sa a CS50 IDE lè yo pran sourit ou epi klike dirèkteman nan bò gòch la nan kèk nimewo liy espesifik. Yon fwa mwen fè sa, yon dot wouj parèt, ki endike ki ki liy se kounye a yon pwen repo. Apre sa, lè a pwochen ke mwen kouri gdb, li yo ap sispann ekzekisyon nan pwen sa a ti repo lè li rive nan ki liy nan kòd. Koulye a, sa a se yon enpòtan bagay yo reyalize ke li nan pa nesesèman nan ka sa a chak liy nan Kòd se aktyèlman aksesib. Si m 'te yo kreye yon fonksyon moute isit la, pou example-- f-- anile ak jis fè yon liy ekri an lèt detache isit lan-- alo world-- si mwen pa janm rele fonksyon sa a, li pral ka a ke, si mwen mete yon pwen repo isit la, fonksyon an pa janm yo pral rele. Se poutèt sa, sa a patikilye pwen repo pa janm ap aktyèlman pran yon poz ekzekisyon nan pwogram lan. Se konsa nou di ke mwen kòrèkteman kreye yon pwen repo sou kèk liy nan kòd ki pral aktyèlman ap egzekite. Koulye a, nan ka sa a, sa a se nan premye liy nan fonksyon prensipal la. Se konsa, li pral sètènman dwe ka a ke, kòm pli vit ke mwen kòmanse ekzekisyon, pral liy an trè premye ka jwenn. Gdb pral pran yon poz ekzekisyon. Lè sa a,, mwen yo pral kapab kominike avèk debugjeur a. Ou ka mete liy plizyè jan breakpoints, si ou ta renmen. Nou kapab tou kreye yon liy moute isit la nan segman sa a nan kòd ki pap janm rive jwenn. Epi nou kapab tou mete yon sèl plis anba a. Rezon ki fè la ke nou ta vle fè sa nou pral ale nan yon ti jan ti kras pi plis detay nan jis yon moman. Se konsa, pou kounye a, kite m 'jis enfim sa yo pwen repo plis pou nou ka gade nan sa k ap pase lè mwen gen yon sèl ti repo pwen nan pwogram m 'yo. Mwen te fè kèk chanjman nan pwogram sa a. Se konsa, mwen bezwen pou konsève pou li. Mwen pral klike dbug pou m 'kapab kòmanse konpilasyon an ak Lè sa a ekzekisyon nan debugjeur a. Nou pral wè ke, apre yo fin moman yo, liy ke nou chwazi kòm repo a pwen se make nan jòn. Nou kapab tou remake ke nan nan dwat anwo nan panèl la dbug ki te icon nan pran yon poz vire nan yon icon Jwe ti kras. Sa vle di ke nou gen pran yon poz ekzekisyon, nan ka sa a an patikilye. Ak frape bouton an Jwe ta pèmèt nou rezime ekzekisyon nan pwen sa a espesifik. Remake gen nan yon koup nan lòt bouton disponib nan sa a panèl dbug, kòm byen. Etap sou, ki pèmèt m 'nan egzekite ke liy youn nan Kòd ak etap sou ak sa yo ki liy yo nan youn kap vini an, ki, nan ka sa a, ta vle di ke printf a se deklarasyon egzekite. Epi, se lè sa a pran yon poz pral ekzekisyon sou liy 13, tankou sa. Apre sa, gen nan tou yon etap nan fonksyon, ki se itil si mwen te kreye lòt fonksyon yon lòt kote nan kòd la sous. Apre sa, mwen vle etap antre nan moun fonksyon olye ke egzekite ki fonksyon kòm yon antye. Men, nou pral gade plis nan etap nan nan fonksyon nan jis yon moman. Koulye a, remake kèk lòt bagay ki aktyèlman egziste nan sa a panèl dbug. Nou gen panèl sa a yo rele nan rele pil, ki montre nou kote egzakteman nou ye. Nan ka sa a, nou se andedan nan fonksyon prensipal la. Se script nou rele count.c. Apre sa, nou rive yo dwe sou liy 13, kolòn yon sèl, ki se pwesizeman sa ki rejyon an make a kòd la sous endike, tankou byen. Koulye a, remake ke sa a tou montre anba seksyon lokal la varyab tout nan varyab yo ki egziste nan fonksyon sa a. Li nan enpòtan sonje ke tout nan varyab yo ap parèt nan varyab lokal sa a seksyon ki nan yon fonksyon, menm anvan menm yo yo defini. Nou ka wè isit la ke nou gen yon varyab rele NUM, te gen yon valè default nan 0, epi li se nan kalite INT. Koulye a, anvan nou aktyèlman inisyalize tout nan varyab sa yo, nou pa nesesèman garanti yo wè yon valè de 0. E li depan de lòt egzekisyon ke ou te fèt ak eta a nan memwa ou lè ou aktyèlman kouri pwogram sa a, ou ta ka jwenn ke ou pa wè valè nan 0 epi, olye de sa, kèk lòt nimewo fou. Men pa enkyete w sou sa. Li pa nan pral yo dwe ki enpòtan jiskaske ou aktyèlman inisyalize valè an. Koulye a, nan ka sa a, nou ka wè ke Mwen te fè kèk rezilta. Apre sa, mwen, kounye a, Sarepta ekzekisyon. Men, nan ka sa a, ki sa Mwen vrèman vle fè se kounye a etap sou liy sa a nan kòd lè sa a, mwen kapab aktyèlman sijè rechèch itilizatè a pou sa int ki nou vle yo sèvi ak nan pwogram nou an. Koulye a, nan ka sa a, lè Mwen frape etap sou yo, avi ki Pòz nan ou pito Kourikouloum-vite nan bouton te chanje nan sa a bouton Pòz paske kòd sa a se aktyèlman egzekite. Sa k ap pase kounye a se ke li se ap tann pou nou pou n opinyon kèk enfòmasyon kòm nou ka wè pa tèks pwodiksyon nou an nan pati anba a anpil. Se konsa, kounye a, sa a se pa aktyèlman Sarepta, menm si li, sòt de, parèt yo dwe paske pa gen anyen k ap pase. Men, li jis pou k ap pase ki nan ka espesifik m 'sou liy 13, Mwen ap tann pou D 'itilizatè. Se konsa, gdb se pa kapab enspekte yon pwogram kòm li se kouri. Koulye a, lè a pwochen ke mwen antre nan kèk input-- se konsa mwen pral antre nan nimewo sa 5, jan nou te wè nan nan past-- frape Retounen, epi nou remake ke, imedyatman, gdb poz epi, ankò, mete aksan sou liy lan kap vini an. Men, remake ke kounye a, kòm yon rezilta nan nou an Anthrax yon valè, nou te mete ajou ki valè andedan nan varyab lokal nou an, ki se yon bagay ki itil yo konnen jisteman sa ke nimewo te nan memwa. Koulye a, mwen ka pèmèt pwogram sa a yo kontinye jwe jouk nan fen ekzekisyon li yo pa frape Kourikouloum-vite. Nou ka wè ke trè vit fè fini an pwogram pwomenad ak menm pwodiksyon an ke nou te gen anvan, debugjeur a fèmen, e kounye a, pwogram sa a te sispann konplètman. Mwen yo fè montre ke la sèlman pou rezon nan wè sa k ap pase lè nou aktyèlman frape Kourikouloum-vite. Men, nou aktyèlman yo ale nan vle ale tounen nan pwogram sa a pou nou ka eseye dbug pwesizeman sa ki k ap pase. Kounye a ke mwen lè l sèvi avèk ap debugjeur a, mwen ka pa bezwen sa yo deklarasyon dbug printf. Se konsa, mwen te kapab retire yo jan mwen pral fè kounye a jis pou tounen nan Kòd nou an ki pi senp ke nou te yon ti moman de sa. Koulye a, lè m 'sove nan pwogram ak egzekite li, li pral, ankò, ale nan ki premye kraze pwen ke mwen te gen sou liy 11. Apre sa, mwen pral kapab enspekte varyab m 'jan mwen vle fè. Li jis konsa k ap pase ke sa a pati a pa trè enteresan, Apre sa, mwen konnen ke mwen pral ekri ak lèt ​​detache soti deklarasyon sa a. Tanpri antre yon nimewo. Lè sa a,, mwen konnen ke mwen pral mande itilizatè a pou sa nonb antye ki pè. Se konsa, petèt, mwen aktyèlman vle pou avanse pou m ' kraze pwen yon ti jan ti kras pi lwen desann. Ou ka retire pwen repo pa klike, ankò, dirèkteman nan kite nan nimewo sa liy. Sa dot wouj pral disparèt, ki endike ki pwen sa ti repo kounye a ale. Koulye a, nan ka sa a, te ekzekisyon te Sarepta. Se konsa, li pa nan aktyèlman ale nan rezime nan ki egzanp patikilye. Men, mwen ka mete yon ti repo pwen yon ti jan pita. Lè m 'kounye a rezime mwen Kòd, li pral rezime epi di pwen an nan pwen sa a ti repo. Yon fwa ankò, mwen frape Kourikouloum-vite. Pa sanble tankou se anyen k ap pase. Men, sa a paske mwen Kòd ap tann pou D '. Mwen pral antre nan yon nimewo 5, frape Antre, ak kounye a pral pwen an repo pwochen dwe frape. Koulye a, nan ka sa a, sa a se liy lan nan kòd sa, anvan, nou te konnen te rive yo dwe buggy. Se konsa an n evalye sa k ap pase nan nivo sa a pwen patikilye nan tan. Lè yo bay yon liy make, sa a liy pa gen ankò te egzekite. Se konsa, nan ka sa a, nou ka wè ke mwen gen yon nimewo, ki Mwen gen yon nonb antye relatif rele NUM ki gen yon valè 5. Apre sa, mwen pral yo dwe fè kèk matematik sou sa kantite. Si m 'etap sou sa, nou kapab remake ke valè a pou NUM te chanje an akò avèk la aritmetik ke nou te aktyèlman fè. Epi, koulye a ke nou se andedan nan sa a pou riban oswa kounye a ke la pou riban tèt li se make, nou wè ke nou gen yon nouvo varyab rele mwen ki ki pral dwe itilize nan ke pou bouk. Koulye a, sonje ke mwen anvan mansyone ke pafwa w ap pral wè kèk kalite fou nimewo kòm default anvan ladan nimewo oswa ki varyab se aktyèlman inisyalizèd. Nou ka wè ke jisteman isit la nan varyab la sa a rele mwen, ki te gen pa ankò yo te inisyalizèd nan yon moman nan en. Men, nou ka wè ke li gen kèk nimewo ke nou pa ta aktyèlman atann. Se byen. Pa enkyete sou li paske nou gen pa aktyèlman inisyalizèd ladan nimewo jouk tan mwen etap sou liy sa a ak valè a mwen te inisyalizèd a valè a 1. Se konsa, yo wè ke sa a, se aktyèlman ka a, se pou yo etap sou. Nou kapab kounye a wè ke ki te liy te egzekite. Apre sa, nou yo kounye a se en liy printf sa a. Epi, koulye a nou ka wè ki jan valè nou nan mwen ak 3 te chanje sou tan. Sa a se trè itil yo fè, an reyalite, se nan etap sou liy repete. Apre sa, ou ka jwenn sa ki aktyèlman k ap pase andedan nan pou riban ou ak sa k ap pase nan la varyab andedan nan ki pou riban kòm sa yo ki ekzekisyon pwogram fèt yon sèl etap nan yon tan. Koulye a, nan pwen sa a, mwen te demisyone sou jis ase ke mwen kounye a menm ki nan fen an nan pwogram m 'yo. Si m 'etap sou sa, li pral aktyèlman sispann ekzekisyon kòm nou te wè nan tan lontan an. Kite m 'rekòmanse sa a, ankò, se konsa ke mwen ka pwen yon lòt bagay soti, kòm byen. Nan ka sa a, li se kounye a mande m ', ankò, pou yon nimewo, ki Mwen pral, ankò, antre. Men, tan sa a, mwen pral antre nan yon nimewo pi gwo pou ke la pou riban pral repekte plis fwa. Nan ka sa a, mwen pral a antre nan yon valè de 11. Koulye a, ankò paske mwen ta mete yon pwen repo nan liy 15, li pral mete aksan sou ki liy. Nou ka wè ke nou an Nimewo 11 se kòrèkteman reprezante nan varyab lokal nou yo. Stepping sou sa, nou kapab kounye a gade sa k ap pase nan valè nou an nan mwen kòm nou kontinye andedan nan sa a pou riban. Li vin enkremante chak nou tan rive nan tèt la nan ki pou riban. Koulye a, youn nan bagay sa yo ke ta ka kapab itil fè pandan ekzekisyon nan pwogram sa a se pou mwen pou m aktyèlman chanje midstream a varyab yo wè sa k ap pase nan pwogram m 'yo. Nan ka sa a, mwen kapab aktyèlman doub klike sou valè an. Remake li vin tounen yon jaden tèks. Koulye a, mwen ka antre nan diferan apresye tout ansanm yo wè ki jan konpòte li pwogram mwen lè m 'te chanje ki varyab. Koulye a, nan ka sa a, varyab la mwen kounye a gen valè nan 10. Men, pwogram nan se toujou Sarepta nan ekzekisyon. Lè m 'etap sou yo, mwen wè ke la valè mwen, ki mwen te antre nan kòm 10, pa janm pi grannèg pase valè a nan NUM, ki imedyatman lakòz la pou riban yo sispann egzekite. Koulye a, sa a, se pa sèlman nan rezon ki fè ou ta vle modifye varyab la nan plas li. Ou ta ka aktyèlman vle pou yo eseye modifye li pou ke ou ka kontinye ekzekisyon nan yon bouk oswa pou ke ou ka modifye kèk valè anvan li rive nan kèk seri espesifik nan aritmetik ke ou se sou yo fè. Se konsa, kounye a ke nou aktyèlman chanje nan te valè de mwen kòm pwogram nan egzekite, li te lakòz pou riban kite fimen nan prematireman paske, tout nan yon toudenkou, mwen te rive yo dwe pi gran pase valè a a NUM, sa vle di ke pou riban bezwen pa gen okenn ankò yo dwe egzekite. Pli lwen, li te rive yo dwe nan ka sa a nou chanje valè a nan mwen lè yo te liy lan 17 make, ki te pwen an nan tan ki la pou ekzekisyon bouk te aktyèlman te evalye. Si m 'te chanje valè a nan m sou yon liy diferan, di 19, nou ta gen pou wè diferan konpòtman paske liy 19 ta te egzekite anvan riban an kondisyon te re-evalye. Koulye a, nan pwen sa a, mwen se, ankò, nan fen pwogram sa a. Apre sa, mwen ka pèmèt sa a pou li ale nan pèmèt pwogram mwen kite fimen natirèlman. Men, gen nan yon koup de bagay sa yo ki enpòtan yo pran lwen soti nan diskisyon sa a an patikilye. Ou bezwen evalye sipozisyon pwòp ou a sou ki jan Kòd la yo ta dwe konpòte. Nenpòt ki lè ou panse ke kèk moso nan kòd ou konnen k ap pase nan travay, ke sa ta kapab yon drapo wouj yo ale retounen lakay yo epi evalye, ak asire w ke ki sipozisyon ou a ki jan ki Kòd se opere se aktyèlman vre nan ki jan li se eksprime nan kòd sous ou yo. Men, menm plis nan pwen te, lè n ap lè l sèvi avèk debugjeur a, ou ka mete breakpoints a liy diferan nan kòd, ki pral lakòz debugjeur nan pran yon poz ekzekisyon nan chak nan liy sa yo pou ke ou ka evalye a memwa oswa menm chanje li nan plas li. Epi ankò, sonje ke ou kapab kreye miltip breakpoints pou ke ou kapab tou rezime ekzekisyon, sote sou pòsyon gwo nan kòd, epi li pral otomatikman pran yon poz nan pwen an repo kap vini an. Genyen aktyèlman pi avanse karakteristik nan debugjeur a, osi byen. Men, nou pral oblije refere w nan kèk videyo ki vin apre yo nan lòd yo reyèlman toumante apa ki jan yo sèvi ak sa yo fonksyon patikilye. Pou kounye a, di ou mèsi anpil pou l ap gade. Ak bon debogaj chans.