[? DAN ARMADARAS:] Salam, I [Ben? Dan Armadaras?].
Bu gün biz olacaq ayıklama baxaraq.
Yalnız biz gedir bəzi üsulları haqqında danışmaq,
həm də baxmaq olacaq bəzi funksiyaları olan
imkan CS50 IDE ərzində Siz asanlıqla bir proqram debug.
>> Yalnız bir nümunəsidir yanlış getmək bilər ki, bir şey
və bu, həqiqətən bir şey biz artıq əvvəl gördüm ki.
Bu halda, bu C proqram ki, istifadəçi bir tam qəbul
iki ayırır və təmin istifadəçi geri çıxdı.
İndi biz gördüm nə əvvəlki mühazirələr,
bu, həqiqətən səbəb olacaq bilirik ki, bölmə problemlərin xüsusi növləri
biz tək rəqəmlər zaman.
>> Xüsusilə, biz yalnız tullamaq lazımdır Bu kəsir sonra bir şey.
İndi biz bu bilirik ki, hal olmaq olur.
Və biz bunu run əgər, biz təsdiq edə bilər tərtib ilk şübhələr,.
Və sonra, çalışan və tək sayda daxil.
>> Bu yeni bir şey deyil.
Lakin bu, həqiqətən bir deyil bir səhv nümunə ki,
böyük proqramı çərçivəsində mövcud ola bilər ki, aşağı izlemek üçün çətindir olur.
Biz nə məsələ bilirik baxmayaraq , məsələnin əsl mahiyyəti deyil
müəyyən etmək üçün çalışırıq bilər xüsusi harada səhv baş,
nə ki, problem müəyyən və sonra təyinat.
Belə ki, nümunə olaraq bu təmin bir şey ola bilər nə
biz artıq bilirik, lakin dəfn edilə bilər ki, kod digər elementləri daxilində.
>> Belə ki, bu digər mənbə açılması nümunə kimi code fayl,
Bu bölmə problem indi böyük proqramının bir hissəsidir.
Hələ bir az ola bilər, bit göstərdi və biz
asanlıqla edə bilər xüsusilə, müəyyən
biz yalnız bu müzakirə edirik ildən.
Amma biz bu ki, anlamaq bilər problem daha böyük miqyasda mövcud ola bilər.
>> Mən indi bu tərtib və əgər Bu, bir tək nömrəsini daxil run,
biz dəqiq almaq deyil ki, görə bilərsiniz gözlədiyimiz ola bilər çıxdı.
Bu halda, biz demək olar ki, biz
nömrələr bütün saymaq istəyirəm bir qədər bəzi xüsusi sayı.
Və biz Göründüyü məsələlər bir sıra var
biz tipi edirik burada əgər, sadəcə, 0 1 biz 5 giriş təmin zaman.
>> Belə ki, biz artıq bilirik ki, burada bir problem var.
Amma biz dəqiq bilmirəm bilər bu məsələ həqiqətən mövcuddur.
Yollarından indi bir ki, biz bu düzeltmek üçün cəhd edə bilərsiniz
biz bir şey deyil artıq təqdim edilmişdir.
Biz yalnız daha böyük miqyasda istifadə edə bilərsiniz.
>> Line 14-də, biz Bu printf funksiyası,
olan ABŞ dövlət çap etməyə imkan verir məlumat müxtəlif ədəd.
Bu bir şey deyil ki, Proqram çərçivəsində leverage lazımdır
dəqiq nə anlamaq üçün cəhd kodu müxtəlif xətləri olur.
Belə ki, bu deyil, hətta finala çıxdı ki, biz, həqiqətən,
həyata çıxarmaq istəyirik Bu proqram, biz hələ
bir debug ola bilər ifadələri biz
anlamaq üçün cəhd edə bilərsiniz dəqiq nə bizim kodu daxilində baş verir.
>> Belə ki, bu halda, mən debug tag ilə printf.
Bu halda, bu Yalnız bir debug string
Mən-qoyaraq belə olur ki, deyiləm ki, mənim kodu çıxışında çox aydın
nə mən göstərmək istəyirəm ki.
Sayı burada və çıxış biz hesablanır ki.
>> Bu halda, mən bilər dəqiq bilmək istəyirəm
nə əvvəl baş və bəzi xüsusi hesablama sonra.
Belə ki, əvvəl printf istifadə edə bilər və kodu ki, xətt sonra.
Bu halda, mən hətta bilər Bu bir az daha aydın etmək
əvvəl debug deyərək və debug belə sonra
Mən özümü çaşdırmaq deyil ki, eyni baxmaq çox xətləri.
>> İndi biz bu və run compile əgər Bu, yenə beş kimi bir sıra daxil edin
Biz ki, görə bilərsiniz İndi əvvəl və sonra çıxış
və biz bir aydın həyata yoxdur ki, tapa şöbə və ya aydın sıra olan
biz, həqiqətən, etmək istəyirəm ki.
İndi bu halda, bu həqiqətən açıq-aşkar bir çıxdı.
Bu, həqiqətən açıq-aşkar bir nəticəsi deyil ki, biz bu proqramı həyata istəyirəm.
>> Və bu, təkrar edir az göstərdi.
Lakin, bəlkə də, hər şeyi bir ki, dəqiqləşdirilməsi bildirib əgər biz bunu edə bilər
biz bu bölmək istəyirəm ki, 2 və başqa sözlə 1 var əlavə,
biz sonra gündəmə ətrafında istəyirəm biz bilər ki, bilirik bilər
Bu halda, o şey.
İndi burada biz olacaq bilirik ki, Bizim yarıya sayı 1 əlavə edə.
>> Bu derleyeceğiz edək bu olduğunu təsdiq
biz istədiyiniz kimi davranır.
Biz əvvəl olduğunu görə bilərsiniz olan biz sayı 5 var.
Sonra, biz sayı 3 var Bizim dəqiqləşdirilməsi görə ki,
Biz etmək istəyirdi nə.
Amma biz baxsaq Burada çıxış, biz
biz bir ola bilər ki, görəcəksiniz deyil tamamilə səhv,
biz 0 bizim sayı başlayır ki.
>> İndi yenə bu bir şey deyil biz keçmişdə gördük ki,
və biz kifayət qədər asanlıqla həll edə bilərsiniz.
Lakin bu halda, biz də fayda əldə
printf bəyanat istifadə birbaşa loop üçün daxilində
dəqiq bilmək ki, səhv baş edildi.
Belə ki, printf hesabatları yardım çox faydalı
Siz müəyyən, dəqiq mənbə kodu,
xüsusi səhv meydana gəlir.
>> Və bu həyata keçirmək üçün də vacibdir ki, biz kodu yazılı etdiyiniz kimi,
biz fərziyyələr ola bilər bir proqram vəziyyəti haqqında.
Yoxsa biz fərziyyələr ola bilər Proqramın hansı hissəsi haqqında
həqiqətən doğru və ya yanlış sonra biz bu proqramı qurmaq kimi
və bir hissəsi etmək mürəkkəb və böyük proqram
bəzi aspekti ki, həyata ki, ki, həqiqətən arabası deyil.
>> Printf istifadə həqiqətən kömək edə bilər kiçildə və müəyyən
bir proqram rayonlarında ki bilər tam şəkildə davranır ki, biz
Bizim fərziyyələr əsasında, gözləyirik.
Amma digər alətlər var Mövcud, eləcə də,
bizə rəqəm cəhd imkan verir burada bir səhv meydana həyata
və həmçinin, xüsusi şeylər Proqramın daxilində baş verir.
>> Belə ki, istifadə printf çox deyil zaman faydalı istəyirik
xüsusi sahələri müəyyən bəzi səhv bir program.
Lakin bu da olur bir müddət sonra yorucu.
Bu halda, bu bir nisbətən sadə proqram
bir və ya iki dəyişənlərin ilə.
Və bu bizim üçün çox asan olur bu dəyişənlərin dəyəri çap
böyük proqramı çərçivəsində.
>> Amma biz başqa bir ola bilər bir çox dəyişənlər var proqramı.
Və kifayət qədər ola bilər printf istifadə üçün asandır
nə baş qiymətləndirmək üçün cəhd bu dəyişənlərin hər biri üçün
proqram kimi həyata keçirir.
Mövcud bir proqram var ayıklama proqram çağırıb.
Bu halda, biz olacaq istifadə, gdb GNU ayıklama, və ya
bizə daxili yoxlamaq üçün imkan verir daha bir proqramın çalışmaları
ətraflı yol.
>> Biz, həqiqətən, icra edə bilər Command line GDB
burada sadəcə gdb və yazaraq biz debug istəyirəm komanda.
Bu halda, saymaq.
İndi bu halda, biz bunu görə bilərsiniz gdb deyir tez bizə gətirir.
Və biz, həqiqətən bilər gdb əmrləri icra
həqiqətən icrasına başlayacaq proqramı müəyyən nöqtələrdə onu dayandırmaq,
dəyişənlərin qiymətləndirmək və dəyişənlərin yoxlayacaq ki,
Proqram dövlət mövcud o anda,
və s və s.
Bu, bizim üçün güc bir çox təmin edir.
>> Amma bu yalnız belə olur ki, CS50 IDE
GUI və ya istifadəçi təmin edir gdb üçün interface ki,
Bizə ehtiyac olmadan bunu etmək üçün imkan verir heç command line interface
ya da belə.
Hesab edirəm ki, əldə edə bilərsiniz yol debug düyməsini istifadə edir
CS50 IDE çox üst.
Artıq keçmişdə, biz nə var görüldü biz komanda istifadə edir
line tərtib və sonra bir proqram çalıştırmak üçün.
>> debug düyməsini yoxdur Bu addımların həm də.
Lakin bu da yetişdirmək olacaq sağında ayıklama nişanı
ki, bizə bir sıra yoxlamaq üçün imkan verir Proqramın xüsusiyyətləri
kimi icra edilir.
Mən bu, debug basın halda, bu qədər gətirəcək
konsolda yeni nişanı çox alt pəncərə.
>> Və bu nişanı var ki, görə bilərsiniz çox üst bəzi məlumat.
Və biz əsasən bu iqnor edə bilər.
Amma hər biri biz qeyd etmək istəyirəm ki,
Bu nəticələr ki, eyni şey ki, biz
biz etmək çalıştırmak üçün cəhd əgər almaq olardı Terminal pəncərə C program.
>> Burada biz cingilti çalışan edə bilərsiniz, və bayraqları bir sıra var,
və bu, bizim count.c fayl tərtib edilir Bu zaman seçilmiş nişanı oldu
Mən debug edib.
Belə ki, bu, çünki çox faydalıdır İndi bu debug düyməsini istifadə edərək,
biz eyni zamanda sonra tərtib edə bilərsiniz proqram icra ki, biz, həqiqətən,
almaq istəyirsinizsə.
>> Edir bayraqları One əhəmiyyətli, bu halda,
Biz, həqiqətən, istifadə etdiyiniz uzun müddət
həm də yalnız bir tərəfdən etdi waving [işitilemez], hansı
burada bu biridir.
Cingilti, bu -ggdb3 deyir.
Bu halda, biz nə var cingilti deyirəm, bizim compiler,
Biz proqram tərtib etmək istəyirəm ki.
Lakin nə təmin adlı simvolu məlumat
compiler həqiqətən çıxışı var, belə ki, əsas məlumat bir çox
proqramı çərçivəsində olan.
>> Daha konkret desək, sayı Mən funksiyaları,
bu funksiyaları adları, dəyişənlər, növləri
bu dəyişənlərin və müxtəlif var ki, ayıklama yardım başqa şeylər
öz fəaliyyətini həyata keçirir.
İndi başqa bir şey yoxdur qeyd etmək vacibdir
zaman çalışan müzakirə edirik Bu şəkildə bir program.
>> Bu, həqiqətən var Qeyd edək ki, Bizim konsol yeni nişanı tərbiyə
alt boyunca.
Biz artıq qarşılıqlı var birbaşa terminal pəncərə ilə.
Amma bu yeni nişanı var əslində bir terminal pəncərə.
Bu, sadəcə çalışan xüsusi biz yaratdıq proqramı.
>> In altındakı Qeyd edək ki, bəzi çıxışı ilə birləşməsi
compiler və gdb cingilti ilə, biz əsasən iqnor edə bilər ki,
Bu, həqiqətən çıxış göstərir çox alt proqram.
İndi həyata keçirmək üçün vacibdir ki, həqiqətən, bu bir pəncərə
sizə göstərəcək Proqram çıxış
həm də giriş qəbul edə bilər ki, proqram üçün, eləcə də.
>> Belə ki, deyir bildiriş bir sıra daxil edin
olan biz idi, eyni çıxış edir əvvəl terminal pəncərə idi.
Amma indi bu yeni nişanı göstərilir oldu.
Mən giriş bir sıra edə bilərsiniz.
Və bu, həqiqətən olacaq funksiyası biz gözləmək kimi
bizim debug göstərən, çıxış, buggy ola bilər çıxış,
biz əvvəl gördüm.
Və çox alt, onu həqiqətən bəzi əlavə çıxışı var
ÜDM yalnız söyləyərək Bu proqram tamamladı.
>> İndi bu gördüm vasitəsilə xüsusi run,
xüsusilə idi faydalı hətta çünki
biz baxmayaraq ayıklama menyu gəlir up, bu hələ çalışan proqram idi.
Heç bir nöqtədə həqiqətən bunu bizim üçün icra fasilə
bütün yoxlayacaq etmək dəyişənlər içində.
Başqa bir şey yoxdur biz nə etmək lazımdır ki,
biz istəyirik ki, tanımaq üçün gdb almaq üçün Proqramın icrası fasilə
və yalnız davam imkan Adətən biz hər hansı digər halda kimi.
>> Icrası fasilə üçün, bəzi xüsusi xəttində,
Biz nə yaratmaq lazımdır fasilə point çağırıb.
Və bir fasilə point çox asanlıqla yaradılmışdır Bu siçan alaraq IDE CS50
və sol birbaşa tıklayarak bəzi xüsusi line sıra.
Mən bunu bir dəfə, bir qırmızı dot göstərir ki, görünür
ki, xətt artıq bir fasilə nöqtəsidir.
>> Və mən gdb run növbəti dəfə onu ki, break nöqtədə icra dayanacaq
bu kodu ki, xətt çatdıqda.
İndi bu əhəmiyyətli bir şey həyata keçirmək üçün
bu deyil ki, mütləq hal kod hər line
həqiqətən erişilebilir.
Mən bir funksiyası yaratmaq olsaydı burada, misal etibarsız f üçün
və yalnız salam burada çap xətt etmək vücuda Mən bu funksiyası zəng heç əgər,
Bu halda olacaq ki, Mən burada bir fasilə nöqtəsini qurmaq əgər,
funksiyası adlanır heç vaxt.
Ona görə də, bu Xüsusilə break point
həqiqətən fasilə heç vaxt Proqramın icrası.
>> Belə ki, mən doğru yaratmaq ki, bildirin kodu bəzi xəttinin bir fasilə point
həqiqətən icra olunacaq.
İndi bu halda, bu əsas funksiyası ilk line.
Belə ki, əlbəttə belə olacaq ki, mən icrası başlamaq kimi tezliklə,
ilk line əldə olunacaq.
GDB icrası fasilə olacaq.
Və sonra, mən olacaq ayıklama ilə qarşılıqlı.
>> Siz çox xətləri bilərsiniz Əgər istəyirsinizsə, breakpoints.
Biz də bir xətt yarada burada kodu bu seqmentində
ki, əldə heç vaxt.
Və biz də daha aşağıda bir bilərsiniz.
səbəbi, biz alacağıq bunu istəyirəm
daha az getmək yalnız bir anda ətraflı.
Indi üçün, belə ki, mənə yalnız aradan imkan bu əlavə break xal
Biz nə baxmaq olar ki, Mən bir fasilə var
Mənim proqramı point.
Mən ki, bəzi Bu proqram dəyişikliklər.
Mən onu saxlamaq lazımdır.
Mən debug basın mən ki, tərtib başlamaq və sonra
ayıklama icrası.
>> Biz görürük ki, anlar, sonra biz fasilə kimi seçilmiş line
point sarı qeyd olunur.
Biz də ki, qeyd edə bilər debug panel yuxarı sağ
fasilə icon çıxdı ki, bir az play icon.
Bu fasilə o deməkdir ki, icra, bu halda.
Və Play düyməsinə olardı vuraraq Bizə icrası davam imkan verir
xüsusi nöqtədə.
>> Digər bir neçə var ki, qeyd Bu debug panel mövcud düymələri,
həmçinin.
Mənə imkan verir ki, artıq addım kodu ki, bir xətt icra
və ki, xətti üzərində addım Bu halda növbəti bir,
printf ki, demək ki, şərh icra edilir.
Və sonra fasilə olacaq belə kimi line 13-də icra.
>> Və həmçinin bir addım var funksiyası daxil olan
Mən digər yaratdıq əgər faydalı başqa mənbə kodu fəaliyyət göstərir.
Mən daxil addım istəyirəm bu funksiyaları çox
bütövlükdə funksiyası yerinə.
Amma biz addım daha baxmaq lazımdır yalnız bir anda funksiyası daxil.
İndi bəzi başqa şeylər hiss ki, həqiqətən bu debug panel ərzində mövcuddur.
>> Biz bu panel adlı var olan bizə göstərir, yığını zəng
məhz biz burada.
Bu halda, biz daxili əsas funksiyası.
Bizim script count.c adlanır.
Və biz olmaq üçün nə line 13, sütun bir olan
nə qeyd region dəqiq deyil mənbə kodu, eləcə də göstərir.
>> İndi bu da göstərir ki, qeyd yerli dəyişən altında
dəyişənlərin bütün Bu funksiya daxilində mövcud.
Qeyd etmək vacibdir dəyişənlərin bütün
bu yerli dəyişən görünür bir funksiyası ərzində ikibölməli,
hətta müəyyən edilir əvvəl.
Biz bir dəyişən var ki, burada görə bilərsiniz num adlı 0 bir default dəyəri var,
və növü int edir.
>> İndi biz, həqiqətən başlamaq əvvəl bu dəyişənlərin bütün,
biz mütləq deyilik 0 dəyər görmək üçün zəmanət.
Və digər edamlar asılı olaraq Siz ifa ki,
və yaddaş zaman dövlət Siz, həqiqətən, bu proqram run,
Siz ki, tapa bilərsiniz 0 dəyərlər görmürəm
və əvəzinə, bəzi digər crazy nömrələri.
>> Amma bu barədə narahat olmayın.
Bu qədər müvafiq niyyətində deyil Siz, həqiqətən, dəyəri başlamaq.
İndi bu halda, biz görürük ki, Mən bəzi nəticələr reallaşdırdıq.
Mən indi icrası durdurulmuş alıram.
Amma bu halda, nə Mən, həqiqətən, bunu istəyirəm
İndi bu xətti üzərində addım deyil kod mən, həqiqətən bilər ki,
ki, int üçün istifadəçi sorğu ki, Biz proqramı istifadə etmək istəyirik.
>> İndi bu halda, zaman Mən bildiriş üzərində addım edib
ki, daha çox Pause və ya Resume düyməsini Pause düyməsinə dəyişib
Bu kodu həqiqətən icra olunur.
Nə baş verir İndi bu ki,
daxil bizim üçün bəzi məlumatları gözləyir Biz çıxış mətni ilə edə bilərsiniz kimi
çox alt.
>> Belə ki, indi, bu həqiqətən durdurulmuş deyil,
hətta baxmayaraq ki, sort görünür heç bir şey baş çünki olmalıdır.
Amma bu yalnız belə olur ki, line 13 mənim xüsusi halda,
Mən istifadəçi girişi gözləyirəm.
Və belə GDB yoxlamaq mümkün deyil bu kimi bir proqram çalışır.
>> Mən daxil indi növbəti dəfə input-- mən ki sayı 5 daxil olacaq
biz gördük kimi hit qayıt past-- və biz
ki, dərhal gdb duraklamalar qeyd və yenə, növbəti line vurğulayır.
Amma, indi fark Bizim bir dəyər giren nəticəsində,
biz daxili ki, dəyəri yenilənir Bizim yerli dəyişənlərin, hansı
dəqiq bilmək üçün çox faydalıdır nə ki sayı yaddaşında idi.
>> İndi bu proqram davam imkan bilər onun icrası sonuna qədər oynayan
Resume vuraraq.
Biz çox tez olduğunu görə bilərsiniz Proqram rəngi icra edir
Eyni çıxış ki, biz əvvəl idi, ayıklama bağlayır,
və indi bu proqram tamamilə dayandı.
>> Mən göstərmək üçün görən məqsədləri nə
biz, həqiqətən, CV hit zaman baş verir.
Amma biz, həqiqətən, gedir Bu proqram geri getmək istəyirəm
biz debug üçün cəhd edə bilərsiniz, belə ki, dəqiq nə baş.
Mən ayıklama istifadə edirəm ki, indi mən bilər bu debug printf hesabatları lazım deyil.
>> Mən kimi mən onları aradan qaldırılması bilər İndi yalnız bizim sadə kodu geri
biz bir an əvvəl idi.
İndi saxlamaq proqram və onu icra,
Bu, bir daha ki, ilkin gedəcək Mən line 11-də idi point pozub.
Mən yoxlamaq edə bilərsiniz Mənim dəyişənlər Mən bunu istəyirəm.
>> Bu, sadəcə bu ki, baş hissəsi, çox maraqlı deyil
Və mən gedirəm bilirik ki, Bu bəyanat çap.
Bir sıra daxil edin.
Və sonra, mən gedirəm bilirik ki, ki tam üçün istifadəçi xahiş.
Belə ki, bəlkə, mən, həqiqətən, hərəkət etmək istəyirəm mənim aşağı bir az daha point pozub.
>> Siz fasilə xal edə bilərsiniz birbaşa, yenə tıklayarak
ki, xətt sayı sol.
Qırmızı dot ifadə edən yox olacaq ki, break point indi getdi ki.
İndi bu halda, icra durdurulmuş edilmişdir.
Və belə ki, həqiqətən niyyətində deyil xüsusi halda davam.
Amma bir fasilə bilərsiniz bir az sonra qeyd.
>> Və mən indi davam zaman mənim indeksi, davam və demək olacaq
ki, break kəsir point.
Yenə Resume edib.
Bir şey baş kimi görünmür.
Amma ki, mənim, çünki kodu daxil gözləyir.
Mən bir sıra 5 daxil Enter edəcək İndi növbəti fasilə point təşkil olunacaq.
>> İndi bu halda, bu kod xətt
ki, əvvəl, biz bilirdik buggy oldu.
Belə ki, nə qiymətləndirmək imkan vaxt bu nöqtədə.
Bir xətt qeyd zaman, bu line hələ icra edilməyib.
Belə ki, bu halda, biz görə bilərsiniz Mən bir sıra var ki
Mən adlı tam var bir dəyər 5 var num.
Mən həyata gedirəm ki sayı bəzi riyaziyyat.
>> Hesab edirəm ki, artıq addım varsa, biz num üçün ki, dəyəri qeyd
uyğun olaraq dəyişdi Biz, həqiqətən, etdiyiniz hesab.
İndi biz var ki, daxili loop üçün bu
və ya indi loop üçün özü vurgulanır,
Biz yeni bir var ki, görəcəksiniz dəyişən ki i adlanır
loop üçün istifadə etmək niyyətindədir.
>> İndi mən əvvəl xatırlayıram bəzən olduğunu qeyd
crazy bir növ görmək olacaq ki, sayı əvvəl default kimi nömrələri
və ya dəyişən deyil həqiqətən başlatılmış.
Biz dəqiq olduğunu görə bilərsiniz burada bu dəyişən
deyil ki, i adlı hələ başlatılmadı
vurğulayaraq zamanı.
Amma biz bəzi sıra olduğunu görə bilərsiniz biz, həqiqətən, gözləmək deyil ki,.
>> Hər şey yaxşıdır.
Bu barədə narahat olmayın Biz, həqiqətən, çünki
I qədər ki sayı başlatılmış Bu xətt və dəyərindən artıq addım
i dəyəri 1 başlatılmış edilmişdir.
Belə ki, həqiqətən görmək halda, üzərində addım edək.
Biz indi görürük ki, line edam edilmişdir.
Və biz indi işıqlandırılması Bu printf xətt.
>> Və biz indi necə dəyərlərimizi görə bilərsiniz i və 3 zamanla dəyişib.
Bu, əslində, nə üçün çox faydalıdır, dəfələrlə xətləri üzərində addım deyil.
Və nə həqiqətən tapa bilərsiniz Sizin üçün loop daxilində olur
və nə olur daxili loop üçün ki, dəyişənlərin
ki, proqram icra kimi bir zaman bir addım baş verir.
>> İndi bu nöqtədə, mən yalnız kifayət qədər üzərində çəkildi
İndi mənim Proqramın sonunda edirəm ki.
Hesab edirəm ki, artıq addım, bu, olacaq həqiqətən icrasını dayandırmaq
biz keçmişdə gördüyümüz kimi.
Belə ki, mənə yenə, bu yenidən başladın imkan Mən başqa bir şey qeyd edə bilərsiniz ki,
həmçinin.
>> Bu halda, bu İndi yenə məni xahiş,
bir sıra üçün hansı Mən yenə girəcək.
Amma bu dəfə mən daxil gedirəm daha böyük bir sıra ki, loop üçün
dəfə təkrarlamaq edəcək.
Bu halda, mən gedirəm 11 bir dəyər daxil edin.
>> İndi daha müəyyən istədiyiniz çünki line 15 fasilə point,
bu xətt vurğulamaq olacaq.
Biz görürük ki, bizim 11 saylı düzgün deyil
Bizim yerli dəyişənlərin təmsil.
Biz indi ki, artıq edə bilərsiniz gücləndirməklə i bizim dəyəri nə olur baxın
biz loop üçün bu daxilində davam kimi.
Bu hər zaman incremented olur loop üçün üst olmaq.
>> Şeyi bir İndi bilər icrası zamanı nə etmək faydalı ola
Bu proqramın həqiqətən mənim üçün görmək üçün dəyişənlərin midstream dəyişə
nə mənim proqram olur.
Bu halda, mən, həqiqətən, bilərsiniz ikiqat dəyərini basın.
Bir mətn sahəsində olur ki, görürsünüz.
>> İndi müxtəlif daxil edə bilərsiniz cəmi dəyər
mənim proqram davranır necə Hesab edirəm ki, dəyişən dəyişib etdiyiniz zaman.
İndi bu halda, dəyişən i indi dəyəri 10 edir.
Amma proqram hələ də icra durduruldu.
Mən artıq addım, mən ki, görəcəksiniz Mən 10 kimi daxil dəyər i,
, num dəyəri daha böyük deyil dərhal loop üçün səbəb
icra dayandırmaq.
>> İndi ki, yalnız deyil, səbəbi siz ki
yerdə dəyişən dəyişdirmək istədiyiniz.
Siz, həqiqətən, istədiyiniz bilər onu belə dəyişdirmək üçün cəhd
Siz davam edə bilər ki, bir loop icrası
və ya ki, dəyişə bilərsiniz əvvəl bəzi dəyəri
hesab bəzi xüsusi dəsti çatır Siz yerinə yetirmək üçün haqqında olduqlarını bildirib.
>> Belə ki, indi biz, həqiqətən, dəyişdirmək proqram kimi i dəyəri, icra edildi
Bu loop üçün çıxmaq üçün səbəb vaxtından əvvəl i, qəflətən, çünki
dəyəri daha böyük olmaq oldu Say, loop üçün, yəni
artıq icra etmək lazımdır.
Bundan əlavə, bu oldu biz i dəyəri dəyişib işi
line 17 qeyd zaman, vaxt nöqtəsi oldu ki,
ki loop icrası üçün həqiqətən qiymətləndirilir edilib.
>> Mən dəyər dəyişib əgər i fərqli bir xətt üzrə, 19 demək
Biz müxtəlif görmüşəm ki davranış line 19 olardı, çünki
loop əvvəl yerinə vəziyyəti yenidən qiymətləndirilmişdir edilmişdir.
İndi bu nöqtədə, mən yenə, Bu proqramın sonunda.
Və mən bu davam imkan bilər mənim proqram təbii çıxmaq üçün imkan verir.
Amma şeyi bir neçə var götürmek üçün vacibdir ki,
bu müzakirə.
Siz qiymətləndirmək lazımdır Öz fərziyyələr
haqqında code davranır edilməlidir.
Hər hansı bir vaxt bəzi parça hesab edirəm ki, Bildiyiniz code iş olur ki,
ki, getmək üçün qırmızı bayraq ola bilər geri və qiymətləndirmək, və əmin olun
Sizin ehtimal ki, necə ki code fəaliyyət göstərir
nə qədər həqiqətən doğrudur Sizin mənbə kodu dilə gətirdi.
>> Amma nöqtəsinə daha idi, biz ayıklama istifadə edərkən,
Siz breakpoints qoya bilər kodu müxtəlif xətləri,
üçün ayıklama səbəb olan o xətləri hər icrası fasilə
belə ki, qiymətləndirmək olar ki, yaddaş və ya hətta yerdə dəyişir.
Və yenə, siz unutmayın ki, Çox breakpoints yaratmaq ki,
də icrası davam edə bilərsiniz, keçmək Kodu geniş hissələrindən üzərində,
və avtomatik olaraq fasilə lazımdır növbəti fasilə nöqtədə.
>> Həqiqətən daha inkişaf etmiş var ayıklama xüsusiyyətləri, eləcə də.
Amma biz sizə müraciət etmək lazımdır bir sonrakı video
həqiqətən necə ayrı tease üçün xüsusilə funksiyaları istifadə etmək.
İndi, təşəkkür edirəm izləmək üçün çox.
Və uğurlar ayıklama.