24 Mart 2023 Cuma

QuickBasic - 28: Hata ayıklama-1

Yayınlama: 18 Ağustos 2022
Güncelleme: 24 Mart 2023

Hata ayıklama (Dubugging)

Programlamada hata nedir?

Programlama sürecinde, yazılan kodların beklenen şekilde çalışmamasına hata denir. Bu hatalar, programın istenmeyen şekilde sonlanması, duraklaması, sonsuz döngüye girmesi, yanlış bir işlem yapması veya yanlış sonuçlar üretmesi gibi istenmeyen durumlarla kendini gösterebilir. Bu hatalar genellikle programlama dilinin doğru bir şekilde kullanılmamasından kaynaklanır ve programcıların kodlarını test etmeleri ve hataları düzeltmeleri gereklidir.

Yazılım geliştirme sürecinde, programcılar tarafından yapılan hatalara genellikle bug(böcek) denir ve bu hatalar, programın beklenen şekilde çalışmamasına neden olabilir. Bu nedenle, programcıların hataları tespit edip düzeltmeleri önemlidir. Bu sürece genellikle hata ayıklama(debugging) adı verilir. Hata ayıklama, programcıların kodlarını inceleyerek hataları tespit etmelerini ve düzeltmelerini sağlar. Bu süreç, yazılımın daha sağlam ve güvenilir hale gelmesine yardımcı olur.

Eniac.jpg

Yazılım hatalarına bug(böcek) denmesinin ilginç bir hikayesi var. İlk bilgisayarlar çok büyük ve karmaşıktı. İçlerinde insanların dahi gezinebileceği kadar genişti ve devre elemanları birbirine kablolarla bağlıydı.

Bu nedenle, bir hata oluştuğunda, mühendisler tüm kablo bağlantılarını kontrol etmek için bilgisayarın içine girerek hatayı tespit etmeye çalışıyorlardı. Bir seferinde, bir hata nedeniyle bilgisayar çalışmadığında, mühendisler bağlantıları kontrol ederken bir böcek fark ettiler.

Böceğin, bilgisayarın içinde oluşturduğu bir kısa devre, hatalı çalışmaya neden oluyordu. Mühendisler böceği temizledi ve hatayı giderdi. O günden beri, yazılım hatalarına bug denmesi yaygınlaştı.

Programcılar, kasıtlı olarak kodlama hataları veya yanlış işlem yapacak kodlama yapmazlar. Ancak, kodlama sürecinde yapılan hatalar, ne kadar uzman olunursa olunsun, farkına varılmadan gerçekleşebilir.

Bazen bu hataların sonuçları çok korkunç olabilir. Örneğin, bir banka sistemi kodunda yapılan bir hata, büyük miktarda paranın kaybedilmesine veya müşterilerin hassas bilgilerinin ifşa edilmesine neden olabilir. Bir araba kontrol yazılımındaki bir hata ise, hayatı tehdit eden bir trafik kazasına neden olabilir.

Bu nedenle, programcıların, kodlama sürecindeki hataları en aza indirmek için titizlikle çalışmaları gerekmektedir. Hata ayıklama ve test etme işlemleri, yazılımın hatasız çalışmasını sağlamak için önemlidir.

Yazılım hataları

5 gruba ayrılır.

  1. Sözdizimi Hatası (Syntax Error)
  2. Çalışma Zamanı Hatası (Run-time Error)
  3. Mantıksal Hata (Logical Error)
  4. Derleme Hatası (Compile Error)
  5. Bağlama Hatası. (Link Error)

1. Sözdizimi Hataları (Syntax Error)

QuickBasic konuşma diline yakın bir dil olduğu için yüksek seviyeli dil grubundadır. QuickBasic dili her ne kadar konuşma diline yakın olsa da komutları konuştuğumuz gibi kullanamıyoruz. Her programlama dilinde olduğu gibi QuickBasic dilinde de komutların ve fonksiyonların kullanımında belli bir yapı ve sözdizimi(syntax) vardır.

Kod yazım sırasında oluşan sözdizimi hataları editör tarafından uyarıldığı için fark edilmesi ve düzeltilmesi kolaydır. Bu özelliği kullanmak için menüdeki Options / Syntax Checking seçeneği seçili olmalıdır.
Satır içinde yapılan sözdizimi hatası satırdan başka bir satıra geçildiğinde belirtilecektir.
Örneğin
LOCATE 14,4,0,5
yazdığımızda Expected: end-of-statement (Beklenen: ifadenin sonu) uyarısı gelecek.
LOCATE komutu kullanılırken sözdizimi hatası yapıldı. Çünkü en fazla 3 parametre girilmesi gerekiyordu ama 4 parametre girildi. İmleç ile işaretlenen konumda komut tamamlanmalıydı.
OK seçildiğinde editöre geçilir.
Help ile hata hakkında açıklama gelir.

1. satırdaki hatayı düzelttikten sonra bir hata görmeyeceğiz. Ancak yeni başlayanlar dahi fark edecek ki resimdeki kodlarda FOR komutu NEXT ile tamamlanmamış.
Bu hatayı yazım sırasında görmeyeceğiz ancak kodları çalıştırdığımızda FOR without NEXT (NEXTsiz FOR) hatasıyla karşılaşacağız.
Bir başka örnek.
SCREEN 12
COLOR 4, 14
PRINT "Merhaba"
COLOR 4, 14 satırı Illegal function call(geçersiz fonksiyon çağrısı) hatasını oluşturdu.
Bu hata yazım sırasında değil çalıştırma sırasında görünür. Bu satırda yazım hatası yok ancak COLOR fonksiyonunun kullanımında hata var. Screen 12'de arkaplan rengi değiştirilemediğinden COLOR komutu 2 parametreli olarak kullanılamaz. 
Çözüm olarak; COLOR tek parametreli girilebilir ya da SCREEN numarası arkaplan rengini değiştirmeye uygun bir numarayla değiştirilebilir. Örneğin: SCREEN 1

Hiç yorum yok:

Yorum Gönder