[? 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.