[? DAN ARMADARAS:?] Merhaba, Ben [miyim? Dan Armadaras?].
Bugün, biz gidiyoruz hata ayıklama bakıyor.
Sadece biz gidiyoruz Bazı teknikler hakkında konuşmak,
ama aynı zamanda biz bakmak için gidiyoruz bazı özellikler ihtiva
izin CS50 IDE içinde Kolayca bir programı hata ayıklamak için.
>> Sadece bir örnek yanlış gidebilir şey
ve aslında bir şey biz zaten daha önce gördüğüm.
Bu durumda, bu bir Cı-program Bu, kullanıcı arasında bir tamsayıyı kabul
iki ile böler ve sağlar kullanıcıya geri çıktı.
Şimdi ne gördüm Daha önce derslerde,
Biz bu aslında neden olacağını biliyoruz bölünme problemleri belirli türleri
biz tek sayılar varken.
>> Özellikle, biz sadece atmak olacak ondalık noktadan sonra her şey.
Şimdi, bu biliyoruz durum olur.
Ve biz bunu çalıştırırsanız, biz teyit edebilir derleyerek öncelikle şüpheler.
Ve sonra, çalıştırarak ve bir tek numarasını girerek.
>> Bu yeni bir şey değil.
Ama bu aslında bir olduğunu Bir hata örneği olduğunu
Daha büyük bir program dahilinde bulunabilir Bu izini zorlaşır.
Biz neyi sorun biliyor olsa bile Meselenin gerçek dönüm noktası olduğunu
belirlemeye çalışırken olabilir Özellikle nerede hata oluşur,
Ne sorunu tanımlamak ve daha sonra sabitleme.
Bu nedenle, örnek olarak, bu sağlar bir şey ne olabilir
biz zaten biliyoruz ama gömülü olabilir kodun diğer öğelerin içinde.
>> Yani bu başka kaynak açılış Örnek olarak kod dosyası,
Bu bölünme sorunu artık Daha büyük bir programın parçası.
Hala biraz olabilir Biraz yapmacık ve biz
Kolayca mümkün olabilir Özellikle, bunu tanımlamak
biz sadece bu konuşuyoruz çünkü.
Ama biz bu olduğunu anlamaya Sorun daha büyük bir ölçekte bulunabilir.
>> Ben şimdi bu derlemek ve varsa o, bir tek sayı girmek koşmak,
biz tam alamadım görebilirsiniz beklediğimizden olabilir çıktı.
Bu özel durumda, Biz diyebilirsiniz biz
tüm numaraları saymak istiyorum birinden yukarı bazı özel sayıya.
Ve biz bu biz görebilirsiniz konularda çeşitlilik var
Biz çıktısı ediyoruz burada eğer, sadece, 0 ve 1 biz 5 bir girdi sağlamaktadır zaman.
>> Yani biz zaten biliyoruz Burada bir sorun var.
Ama biz tam bilmiyor olabilir nerede bu konu aslında var.
Yollarından Şimdi biri olduğunu Biz bu sorunu gidermek için deneyebilirsiniz
biz ettik şeydir Zaten tanıtıldı.
Sadece daha büyük bir ölçek üzerinde kullanılabilir.
>> Hat 14, biz var Bu printf fonksiyonu,
bize hangi devlete yazdırmak için izin verir çeşitli bilgi parçalarını.
Ve bu bir şey olduğunu size sizin program dahilinde kaldıraç gerekir
tam olarak ne olduğunu anlamaya çalışın kod çeşitli hatlarda oluyor.
Yani bu olmasa bile nihai çıkış biz aslında
dışarı üretmek istiyorum bu program, hala
Bazı hata ayıklama olabilir ifadeleri nerede
anlamaya deneyebilirsiniz tam olarak ne Bizim kod içinde oluyor.
>> Yani bu durumda, I will ayıklama etiketiyle printf.
Bu durumda, bu Sadece bir debug dize
Ben yukarı koyarak bu yüzden olur olduğumu benim kod çıkışında çok açık
Ne ben göstermek istiyorum olmasıdır.
Numara burada Ve çıkış Biz bilgisayarlı olması.
>> Bu durumda, ben belki tam bilmek istiyorum
Ne daha önce oluyor ve Bazı özel hesaplamalar sonrasında.
Yani önce bir printf kullanabilirsiniz ve kod bu satırdan sonra.
Bu durumda, ben bile olabilir o biraz daha açık hale
önce hata ayıklama söyleyerek ve hata ayıklama kadar sonra
Ben kendimi karıştırmayın olmadığını aynı bakmak birden çok satır.
>> Şimdi bu ve koşmak yeniden derleyin eğer o, yine beş gibi bir sayı girin
biz sahip olduğunu görebilirsiniz Bundan önce ve sonra çıktı
ve biz açık bir yapmadıysanız bulmak bölünme veya net sayının sahip
aslında yapmak istediğiniz.
Şimdi, bu durumda, bu gerçekten net bir çıkış.
Gerçekten net bir sonuç olmadığını Bu belirli bir program çıkmak istiyorum.
>> Bu da, yine, biraz yapmacık.
Ama, belki de, şeylerden biri olduğunu şartname dersem Yapabileceğimiz
Biz bu bölmek istediğiniz 2 ve bu diğer bir deyişle 1-- eklemek
biz sonra up-- yuvarlamak istediğiniz biz-ebil biliyor olabilir
Bu durumda, söz konusu şeyi.
Şimdi burada bizim olacak biliyorum Bizim yarıya numaraya 1 eklemeniz mümkün.
>> Şimdi bu derlemeye edelim ve bu teyit
biz istediğimiz şekilde davranıyor.
Biz şimdi önce görebilirsiniz olan biz sayı 5 var.
Yaptıktan sonra biz, sayı 3 var Bizim özelliğine göre, hangi
biz yapmak istediği budur.
Ama biz bakarsak Burada çıktı, biz
biz başka olabileceğini görmek için ise tamamen böcek,
Biz 0'dan bizim sayımı başlıyor söyledi.
>> Şimdi yine, bu şey Biz geçmişte gördük
ve biz oldukça kolay çözebilirsiniz.
Ancak bu durumda biz Ayrıca parası vardı
printf deyimini kullanarak doğrudan for döngüsü içinde
tam nerede olduğunu bilmek Bu hata meydana edildi.
Yani printf ifadelerdir yardımcı çok yararlı
Eğer belirlemek, tam kaynak kodu,
Belirli bir hata meydana geliyor.
>> Ve bu fark etmek de önemlidir Bu, biz kod yazıyoruz olarak,
Biz varsayımları olabilir Bir programın durumu hakkında.
Ya da biz varsayımları olabilir Programın hangi bölümünün hakkında
aslında doğru ya da yanlış Daha sonra biz bu programın üzerine inşa olarak
ve bir parçası yapmak karmaşık ve büyük bir program
bazı yönü olduğunu fark olduğunu Bu aslında adamcağız.
>> Printf kullanmak gerçekten yardımcı olabilir daraltmak ve tespit
Bir programın bölgeler, bu olmayabilir aynen davrandığını olması biz
Bizim varsayımlara dayalı, bekliyoruz.
Ama diğer araçları var Mevcut yanı sıra,
Bu bize rakama denemek için izin nerede hata oluşup dışarı
ve aynı zamanda, özellikle, ne şeyler Programın içinde gerçekleşiyor.
>> Yani kullanarak printf çok olduğunu kullanışlı zaman istediğimiz
belirli alanları belirlemek Bazı hata var bir program.
Ama aynı zamanda olur Bir süre sonra sıkıcı.
Bu durumda, bu bir Nispeten basit bir program
Sadece bir ya da iki değişkenli.
Ve bu bizim için çok kolay hale geldi Bu değişkenlerin değerini yazdırmak
Büyük program kapsamında.
>> Ama biz farklı bir olabilir pek çok değişken bulunmaktadır programı.
Ve oldukça olmayabilir printf kullanımı çok kolay
neler olup bittiğini değerlendirmek için denemek için Bu değişkenlerin her birine
program olarak yürütülüyor.
Var olan bir program var Bir hata ayıklayıcı programı denir.
Bu durumda, bir biz olacak kullanım, GDB GNU debugger, ya da
bu bizi iç incelememizi sağlar çok daha fazla bir programın çalışmaları
Ayrıntılı bir yol.
>> Biz aslında yürütebilirsiniz Komut satırından GDB
Burada sadece GDB ve yazarak Biz hata ayıklamak istediğiniz komutu.
Bu durumda, sayısı.
Şimdi bu durumda biz onu görebilirsiniz GDB diyor istemi için bize getiriyor.
Ve biz aslında can GDB komutları yürütmek
aslında yürütme başlamak için Program, belirli noktalarda durdurmak,
değişkenleri değerlendirmek ve değişkenleri incelemek olduğunu
Program devlet var o anda,
ve benzerleri ve benzeri.
Bu bizim için çok fazla güç sağlar.
>> Ama sadece bu yüzden olur bu da CS50 IDE
Bir GUI veya kullanıcıya GDB için arayüz o
Bize gerek kalmadan bunu sağlar olursa olsun komut satırı arayüzü
ya da hiç bile.
Bunu erişebilir yolu Hata ayıklama düğmesini kullanarak bir
CS50 IDE çok üstünde.
Şimdi geçmişte, ne var görüldü biz komutunu kullanmaktır
çizgi derlemek ve daha sonra bir programı çalıştırmak için.
>> Hata ayıklama düğmesi yok Bu adımların her ikisi de.
Ama aynı zamanda getirecektir sağında ayıklayıcı sekmesi
Bu bize çeşitli incelememizi sağlar Programın özelliklerinin
gibi yürütüyor.
Ben bu, hata ayıklama tıklarsanız durumda, o getirecektir
konsolda yeni bir sekme Çok altta pencere.
>> Ve bu sekme sahip olduğunu görebilirsiniz çok üstünde bazı bilgiler.
Ve biz büyük ölçüde bu göz ardı edebilirsiniz.
Ama şeylerden biri biz fark istiyorum
o çıktılar ki Aynı şey biz
biz yapmaya çalıştırmayı denedim eğer alacağı Terminal penceresinde C programı.
>> Burada, biz clang çalışıyor görebiliyorum, ve bayrakları bir çeşitlilik vardır,
ve bizim count.c dosyasını derlerken hangi anda seçili sekme oldu
ben hata ayıklama çarptı.
Yani bu, çünkü çok yararlıdır Şimdi bu hata ayıklama düğmesini kullanarak,
biz aynı anda o derlemek ve olabilir programı çalıştırmak biz aslında
çalıştırmak istiyorum.
>> Olduğu bayraklar biri önemlisi, bu durumda,
biz aslında kullanılarak oldum uzun süre
ama aynı zamanda sadece bazı elini yaptım sallama [duyulamaz], hangi
Burada bu biridir.
Clang, bu -ggdb3 diyor.
Bu durumda, ne clang söylüyorum, bizim derleyici,
Bizim programı derlemek istiyoruz olmasıdır.
Ama aynı zamanda ne sağlamak denilen sembol bilgisi
derleyici aslında erişimi vardır ki Altta yatan bilgilerin bir sürü
program dahilinde ihtiva etmiştir.
>> Daha özel olarak ise, sayı Ben fonksiyonların,
Bu fonksiyonların isimleri, değişkenler, çeşitleri
Bu değişkenler ve çeşitli olduğu hata ayıklayıcı yardımcı diğer şeyler
onun işlemi gerçekleştirmek.
Şimdi başka bir şey var söz önemlidir
biz çalışan tartışıyoruz Bu şekilde bir program.
>> Aslında var olduğunu fark Bizim konsolda yeni bir sekme kadar getirdi
alt kısımdaki.
Artık etkileşim var doğrudan terminal penceresinde ile.
Ama bu yeni sekme aslında bir terminal penceresi.
Bu sadece çalışan özgü biz yarattık programı.
>> De, altta dikkat edin Bazı çıkışı ile kombinasyon
derleyicisi ve GDB tınlamak ile biz büyük ölçüde görmezden, hangi
aslında çıkışını gösterir çok altında program.
Şimdi gerçekleştirmek için önemli aslında bu bir pencere
Size göstereceğim programınızdan çıktı
ama aynı zamanda girdi kabul edebilir bu program için, hem de.
>> Yani diyor ki haber Bir girin,
hangi biz aynı çıkış daha önce terminal penceresinde vardı.
Ama şimdi bu yeni bir sekmede gösterilen oluyor.
Ben girdi bir sayı olabilir.
Ve aslında olacak Fonksiyon beklediğimiz gibi
bizim hata ayıklama gösteren çıktı, buggy olabilir çıktı,
biz daha önce görmüştüm.
Ve çok alt at, o Aslında bazı ek çıkışı
GSYİH sadece söyleyerek bu program tamamlandı.
>> Şimdi bu gördüğümüz gibi aracılığıyla belirli bir çalışma,
özellikle değildi yararlı bile çünkü
Biz gerçi ayıklayıcı menüsü geliyor yukarı, bu hala çalışan bir programı oldu.
Hiçbir noktada aslında yaptım Bizim için yürütmeye ara
Tüm kontrol edebilmek için değişkenler içinde ihtiva etmiştir.
Başka bir şey var Biz sipariş yapmak zorunda olduğunu
İstediğimiz tanımasını GDB almak Programın yürütülmesine duraklatmak için
ve sadece devam etmek izin vermez Normalde herhangi bir diğer durumda olduğu gibi.
>> Yürütme duraklatmak için, Bazı özel hattında,
Biz ne oluşturmanız gerekir Bir kırılma noktası çağırdı.
Ve bir kırılma noktası çok kolay oluşturulur bu farenizi alarak IDE CS50
ve sola doğrudan tıklayarak bazı özel hat numarası.
Bunu yaptığınızda, kırmızı bir nokta işaret eden, görünür
o çizgi artık bir kırılma noktasıdır.
>> Ve ben GDB çalıştırmak dahaki sefere onu Bu kırılma noktasında yürütme durur
bu kod bu hattı ulaştığında.
Şimdi bu önemli şey fark
o değil mutlaka dava bu kod her satır
Aslında erişilebilir.
Ben bir işlevi oluşturmak olsaydı buraya, example-- boşluk F-- için
ve sadece merhaba burada-- baskı hattı yapmak --daha dünya bu işlev çağrısı asla eğer,
bu durumda olacak, Burada bir kırılma noktası ayarlarsanız,
işlevi çağrılmalıdır asla.
Ve bu nedenle, bu Özellikle kırılma noktası
Aslında duraklatmak asla Programın yürütülmesi.
>> Yani ben doğru oluşturmak diyelim kod bazı çizgi üzerinde kırılma noktası
aslında idam edilecektir.
Şimdi, bu durumda, bu ana işlevi ilk satırı.
Yani kesinlikle böyle olacaktır Bu, ben yürütme başlamadan en kısa sürede,
İlk satır ulaşılacaktır.
GDB yürütme duraklar.
Ve sonra, mümkün olacaktır hata ayıklayıcı ile etkileşim.
>> Sen birden fazla satır ayarlayabilirsiniz Eğer isterseniz, sınır değerler.
Biz de bir çizgi oluşturabilirsiniz Burada kod bu segmentte
ulaşılacağının asla.
Ve biz de daha aşağıda bir şifre ayarlayabilirsiniz.
Nedeni biz olur yaparız bunu yapmak istiyorsanız
daha biraz gitmek sadece bir an ayrıntı.
Şimdi Yani, bana sadece devre dışı bırakmanıza izin Bu ek mola noktaları
Biz ne bakabilirsiniz böylece Ben tek bir mola zaman
Benim programda nokta.
Yaptığım bazı Bu programa değişir.
Yani kaydetmeniz gerekir.
Ben hata ayıklama tıklayın edecek I can böylece derleme başlar ve daha sonra
hata ayıklayıcı yürütme.
>> Biz göreceğiz, o anları, sonra Biz mola olarak seçilen hat
nokta sarı vurgulanır.
Biz de fark edebilirsiniz hata ayıklama panelinde sağ üst
duraklatma simgesi döndü ettiğini küçük bir oyun simgesi haline.
Bu, duraklama var demektir yürütme, bu özel durumda.
Ve Play butonuna olacağını isabet Bize yürütülmesine devam etmek izin
belirli bir noktada.
>> Diğer bir çift var olduğunu fark Bu hata ayıklama panelinde kullanılabilir düğmeler,
de.
Beni sağlayan, üzerinde Adım kod bu bir satır çalıştırmak
ve bu hat üzerinden adım Bu durumda, bir sonraki,,
printf anlamına gelecektir deyim yürütülür.
Ve bundan sonra duracaktır şöyle hat 13 yürütme.
>> Ve aynı zamanda bir adım var fonksiyonu içine hangi
Diğer oluşturulan varsa yararlıdır başka kaynak kodunda işlevleri.
Ve ben adım istiyorum Bu işlevler yerine
Bir bütün olarak bu işlevi yürütmek.
Ama biz adım daha bakacağız sadece bir an işlevi içine.
Şimdi diğer bazı şeyleri fark olduğunu Aslında bu hata ayıklama panelin içinde var.
>> Biz bu paneli denir var hangi bize gösterir, yığın çağrı
Tam olarak nerede olduğumuzu.
Bu durumda, biz içerde ana işlevi.
Bizim komut count.c denir.
Ve biz olmak ne satır 13, sütun, bir, burada
Ne vurgulanan bölge tam da budur kaynak kodunun yanı sıra, gösterir.
>> Şimdi, bu da gösteriyor ki fark yerel değişken bölümü altında
değişkenlerin tüm Bu işlevin içinde var.
Bu dikkat etmek önemlidir değişkenlerin tüm
Bu yerel değişken görünecektir bir işlev içinde bölüm,
Hatta, tanımlanmadan önce.
Biz bir değişken olduğunu burada görebilirsiniz num denilen, 0 varsayılan değeri vardır,
ve int türünde.
>> Şimdi biz aslında başlatılamıyor önce tüm bu değişkenler,
biz mutlaka değiliz 0 değeri görmek için garanti.
Ve diğer infazlar bağlı gerçekleştirdiğiniz olduğunu
ve belleğin ne zaman devlet Aslında bu programı çalıştırın,
Size o bulabilirsiniz 0 değerlerini göremiyorum
ve bunun yerine, diğer bazı çılgın numaralar.
>> Ama dert etmeyin.
Bu kadar alakalı olacak değil aslında değeri başlatılamadı.
Şimdi bu durumda, bunu görebiliyorum Bazı çıkışları gerçekleştirdik.
Ve ben, şimdi, yürütme durduruldu ediyorum.
Ancak bu durumda ne Gerçekten yapmak istiyorum
Şimdi bu hat üzerinden adım olduğunu kod yüzden aslında olabilir ki
O int kullanıcıya sorgulamak olduğunu bizim programda kullanmak istiyorum.
>> Şimdi, bu durumda, ne Ben, haber üzerinden adım vurmak
daha ziyade Duraklat veya Devam düğmesi bu Pause düğmesi değişti
Bu kod aslında yürütme çünkü.
Ne oldu Şu anda bu olduğunu
girişine bizim için bazı bilgiler bekliyor Bizim çıkış metinle gördüğünüz gibi
çok altında.
>> Yani şimdi, bu Aslında durdurulmuş değil,
bile olsa, bir çeşit görünür hiçbir şey oluyor çünkü olması.
Ama sadece bu yüzden olur o hat 13 benim özel durum,
Ben kullanıcı girişi için bekliyorum.
Ve böylece GDB incelemek mümkün değil Bunun bir programı çalışıyor.
>> Bazı girmek Şimdi bir dahaki sefere input-- yüzden, bu sayı 5 girersiniz
Biz gördüğümüz gibi hit Return past-- ve biz
Bu, hemen GDB duraklar fark ve yine, bir sonraki çizgi vurgulanır.
Ama olarak, şimdi fark Bizim bir değer girilmesi sonucu,
İçeri o değere güncelledik Yerel değişkenler, hangi
tam bilmek çok yararlıdır Ne bu sayının bellekte oldu.
>> Şimdi bu programın devam etmesine izin edebilirsiniz yürütme sonuna kadar oynamaya
Devam vurarak.
Biz çok hızlı bir şekilde görebilirsiniz Program bitiş yürütme yapar
Aynı çıkış olduğunu biz daha önce vardı, debugger kapatır,
ve şimdi bu program tamamen durdu.
>> Ben göstermek sadece o görme amacı nedir
biz aslında Devam vurduğunuzda olur.
Ama biz aslında gidiyoruz Bu programa geri dönmek istiyorum
Biz hata ayıklama için deneyebilirsiniz, böylece tam ne oluyor.
Ben hata ayıklayıcı kullanıyorum şimdi, ben olabilir Bu ayıklama printf ifadeleri gerek yok.
>> Ben yapacağım Yani ben bunları kaldırmak olabilir Şimdi sadece bizim basit kod dönmek için
Biz bir an önce vardı.
Şimdi kaydettiğinizde programlamak ve çalıştırmak,
o, yine o ilk harflerinin gidecek Ben hat 11 vardı noktayı bölünürler.
Ve ben incelemek mümkün olacak benim değişkenleri yapmak istiyorum.
>> Sadece bu yüzden bu olur bölüm, çok ilginç değil
Ve ben gidiyorum biliyorum Bu ifadeyi yazdırmak için.
Bir numara giriniz.
Ve sonra, ben gidiyorum biliyorum Bu tamsayı kullanıcıya sormak için.
Yani, belki de ben aslında taşımak istiyorsanız benim aşağı biraz daha noktasını kırmak.
>> Sen mola noktaları kaldırabilirsiniz doğrudan, yine tıklayarak
Bu hat numarasının solunda.
Bu kırmızı nokta belirten kaybolur Bu kırılma noktası şimdi gitmiş olduğunu.
Şimdi, bu durumda, yürütme durduruldu.
Ve böylece aslında gitmiyor belirli örneği devam.
Ama ben bir mola ayarlayabilirsiniz Biraz sonra gelin.
>> Ve ben şimdi devam ettiğinizde benim Kod, bu devam edecek ve söylemek
Bu kırılma noktası noktası.
Yine, ben Devam çarptı.
Şey oluyor gibi görünmüyor.
Ama bu benim çünkü var Kod girişi için bekliyor.
Ben, bir sayı 5 girmek Enter'a olacak ve şimdi bir sonraki kırılma noktası vurmak olacak.
>> Şimdi, bu durumda, söz konusu kod satırı
Bu, daha önce, biz biliyorduk adamcağız olması oldu.
Yani ne değerlendirmek izin zaman içinde bu özel noktada.
Bir satır vurgulanır, bu hat henüz idam edilmemiştir.
Yani bu durumda, biz görebilirsiniz Ben bir numara, sahip olduğu hangi
Ben adında bir tamsayı var Bir değer 5 sahiptir num.
Ve ben sahne gidiyorum Bu sayı bazı matematik.
>> Ben üzerinden adım ise, biz num o değer fark
uygun olarak değişti biz aslında yaptık aritmetik.
Ve şimdi biz o içinde for döngüsü bu
ya şimdi döngü kendisi vurgulanır,
Biz yeni bir olduğunu görüyoruz Değişken o i denilen
for döngüsü bu kullanılacak gidiyor.
>> Şimdi bu I önce hatırlıyorum Bazen sen olduğunu belirtmiş
çılgın çeşit göreceğiz Bu sayı daha önce varsayılan olarak sayılar
ya da değişken Aslında başlatıldı.
Biz tam da görebilirsiniz Burada bu değişkende
değil sahip olduğu, i denilen henüz başlatılmamış
vurgulayarak anda.
Ama biz bazı numarası vardır görebilirsiniz biz aslında beklemediğini söyledi.
>> Bu iyi.
Dert etmeyin biz aslında çünkü
I kadar bu sayı başlatıldı Bu hat ve değer üzerinden adım
i değeri 1 başlatıldı.
Yani aslında görmek için dava, sona erdi çekilsin.
Biz şimdi görüyoruz ki çizgi idam edildi.
Ve şimdi vurgulayarak vardır Bu printf hattı.
>> Ve biz şimdi nasıl bizim değerlerimizi görebilirsiniz i ve 3 zamanla değişti.
Bu aslında yapmak çok faydalıdır, defalarca hatları üzerinden adım olduğunu.
Ve aslında ne bulabilirsiniz sizin için döngü içinde olur
ne olur içinde for döngüsü bu değişkenleri
Bu program çalışması olarak her seferinde bir adım oluşur.
>> Şimdi bu noktada, ben yeterli basan
Şimdi benim program sonunda olduğumu.
Ben üzerinden adım ise, o olacak aslında yürütmenin durdurulması
biz geçmişte gördüğümüz gibi.
Bu yüzden, beni yine, bu yeniden edelim Ben başka bir şey işaret olabilir,
de.
>> Bu durumda, bunun şimdi tekrar, bana soran,
bir dizi için olan Ben, yine girecek.
Ama bu sefer, ben girmek için gidiyorum daha büyük bir sayı, böylece döngü
kez daha yineleme olacak.
Bu durumda, ben gidiyorum 11 değerini girin.
>> Şimdi yine ben ayarlamak istiyorum çünkü hat 15 bir kırılma noktası,
o çizgiyi vurgulamak için gidiyor.
Bunu görebiliyorum bizim 11 numara doğru olduğunu
Bizim yerel değişkenler temsil.
Şimdi, o üzerinde olabilir Stepping i bizim değerine ne izle
Biz for döngüsü bu içinde ilerledikçe.
Her zaman biz artırılır alır for döngüsü bu üst ulaşmak.
>> Şeylerden biri olabilir Şimdi yürütülmesi sırasında yapılacak yararlı olabilir
Bu programın aslında benim için görmek için değişkenler midstream değiştirmek
Ya benim programa olur.
Bu durumda, aslında can çift ​​değeri tıklatın.
Bir metin alanı haline dikkat edin.
>> Şimdi farklı girebilirsiniz tamamen değer
benim program nasıl davrandığını görmek için Ben bu değişken değiştirdik zaman.
Şimdi, bu durumda değişken ben şimdi değerini 10 içerir.
Ancak program hala yürütme durduruldu.
Ben üzerinden adım, ben görüyorum Ben 10 olarak girilen değer i,
, num değerinden daha büyük değildir hangi hemen döngüsü için nedenleri
yürütme durdurmak için.
>> Şimdi sadece değil nedeni yapacağınız
yerinde değişkeni değiştirmek istiyor.
Aslında isteyebilirsiniz Bunu böylece değiştirmeye çalışın
Eğer devam edebilirsiniz Bir döngünün icra
veya böylece değiştirebilirsiniz daha önce bazı değer
aritmetik bazı özel set ulaşır gerçekleştirmek üzere olduğunu.
>> Yani şimdi biz aslında değiştirmek programı olarak i değeri, yürüttüğü
döngü için çıkmak neden erken ben, birdenbire, çünkü
değerinden daha büyük olması oldu num ve döngü o anlamı
Artık yürütülecek gerekiyordu.
Dahası, olması oldu Biz i değerini değiştirdi dava
hat 17 vurgulanan zaman, zaman içinde nokta olan
Bu döngü yürütme aslında değerlendirildi ediliyordu.
>> Ben değeri değişti olsaydı Ben farklı bir hat üzerinde, 19 say
farklı görüldü olurdu davranış çizgisi 19 olur, çünkü
döngü önce idam durum değerlendirilmektedir.
Şimdi bu noktada, ben, yine, Bu programın sonunda.
Ve ben bu geçmek için izin verebilirsiniz benim program doğal çıkmak için izin verir.
Ama birkaç şey var götürmek önemli olduğunu
Bu özel tartışmadan.
Sen değerlendirmek gerekir Kendi varsayımlar
nasıl kod davranmak gerekir.
Her zaman bazı parça olduğunu düşünüyorum Bildiğiniz kod çalışır olur bölgesinin
Bu gitmek için kırmızı bayrak olabilir sırt ve değerlendirmek ve emin olun
sizin varsayımı olduğunu nasıl bu kod çalışıyor
ne kadar aslında doğrudur kaynak kodu olarak ifade edilmiştir.
>> Ama nokta daha vardı, Biz hata ayıklayıcı kullanırken,
En kesme noktası koyabilirsiniz kod farklı çizgiler,
hata ayıklayıcı neden olacaktır bu satırların her birinde yürütmeye ara
böylece değerlendirmek olduğunu Bellek ve hatta bir yerde değiştirin.
Ve yine, you can unutmayın Birden kesme noktaları oluşturmak, böylece
Ayrıca yürütülmesine devam edebilirsiniz, atlama büyük kod bölümleri üzerinde,
ve otomatik olarak duraklatma olacak Bir sonraki mola noktasında.
>> Aslında daha gelişmiş var hata ayıklayıcı özellikleri yanı sıra.
Ama biz sevk gerekecek Bazı sonraki videolara
Gerçekten nasıl ayrı kızdırmak için Bu belirli işlevleri kullanmak için.
Şimdilik, teşekkür ederim izlemek için çok.
Ve iyi şanslar ayıklama.