TypeScript Dersleri

TypeScript’te Debugging (Hata Ayıklama)

eminbasbayan

eminbasbayan

3 dk okuma
TypeScript’te Debugging (Hata Ayıklama)
🔍 Büyütmek için tıklayın

Kod yazmak bir şeydir, yazdığın kodun neden çalışmadığını bulmak başka bir şeydir. Yazılım geliştirmenin en kritik aşamalarından biri de debugging, yani hata ayıklama sürecidir. TypeScript ile çalışırken hataları fark etmek için kullanabileceğin çok güçlü araçlar vardır. Bu makalede, Visual Studio Code üzerinden nasıl adım adım hata ayıklama yapabileceğini öğreneceksin.

Debugging Nedir?

Debugging, bir programı satır satır çalıştırarak hangi satırda ne olduğunu anlamanı sağlayan süreçtir. Bu sayede hatalı davranışların nereden kaynaklandığını bulabilir ve düzeltebilirsin.

TypeScript projelerinde debugging sayesinde:

  • Değişkenlerin değerlerini görebilirsin,
  • Programın hangi satırda durduğunu izleyebilirsin,
  • Hatalı fonksiyonları tespit edebilirsin.

VS Code’da Debugging Ortamı Kurmak

1. launch.json Dosyasını Oluşturmak

Debugging işlemleri için önce Visual Studio Code’un nasıl çalışacağını belirten bir ayar dosyasına ihtiyacımız var: launch.json

Oluşturmak için:

  1. Sol menüden “Run and Debug” sekmesine tıkla.
  2. “create a launch.json file” seçeneğine tıkla.
  3. “Node.js” seçeneğini seç.

Bu dosyada kodun çalıştırılmasıyla ilgili bilgiler yer alır. Örneğin kodun hangi dosyadan başlayacağı veya önce TypeScript derlemesi yapılması gerektiği gibi.

Örnek ayar:

"preLaunchTask": "tsc: build - tsconfig.json"

Bu satır sayesinde kod çalışmadan önce otomatik olarak derlenir.

2. Breakpoint (Durma Noktası) Ekleme

Breakpoint, programın çalışmasını belirli bir satırda duraklatmanı sağlar. Böylece program o satıra kadar çalışır ve durur, sen de o anki değerleri ve durumu gözlemleyebilirsin.

Nasıl eklenir?

  • Kod satırının sol kenarındaki boşluğa tıkla. Kırmızı bir nokta belirdiğinde breakpoint ayarlanmış olur.

Program çalıştığında o satıra gelince durur. Artık adım adım devam edebilirsin.

3. Kodun Satır Satır İzlenmesi

Breakpoint’te durduktan sonra, üstteki butonları kullanarak kodu satır satır işletebilirsin.

ButonAnlamı
Step OverBir sonraki satıra geç
Step IntoFonksiyonun içine gir
Step OutFonksiyondan dışarı çık
RestartDebugging’i baştan başlat
StopDebugging’i durdur

Bu araçlar sayesinde karmaşık kodları bile rahatça izleyebilirsin.

4. Variables ve Watch Paneli

Kodun çalıştığı anda değişkenlerin o anki değerini görmek, debugging’in en büyük avantajlarından biridir.

  • Variables Paneli: Otomatik olarak tanımlı değişkenleri gösterir.
  • Watch Paneli: Senin manuel olarak izlemek istediğin değişkenleri gösterir.

Örneğin: let puan = 95; satırında puan değişkenini “Watch” penceresine ekleyerek sürekli takip edebilirsin.

5. Source Map (Kaynak Haritası) Nedir?

TypeScript dosyaları .ts uzantılıdır ama tarayıcı veya Node.js aslında .js dosyalarıyla çalışır. Debugging yaparken ise .ts dosyasındaki satırları izlemek isteriz. Bu bağlantıyı sağlayan şey source map dosyalarıdır.

Nasıl etkinleştirilir?

tsconfig.json dosyasında aşağıdaki ayarı aktif hale getir:

"sourceMap": true

Bu sayede .js.map uzantılı dosyalar oluşur ve .ts ile .js dosyaları birbiriyle eşleşir. Böylece hata ayıklarken doğrudan TypeScript dosyasını izleyebilirsin.

6. Diğer Faydalı Debug Ayarları

Debugging’i daha güvenli hale getirmek için şu ayarları da yapabilirsin:

  • "noEmitOnError": true
    ➤ Hatalı kod varsa .js dosyası oluşturulmaz.

  • "outDir": "./dist"
    ➤ Derlenmiş JavaScript dosyaları ayrı bir klasöre gider, proje düzenli olur.

  • "strict": true
    ➤ Tip hataları ve olası sorunlar daha erken fark edilir.

Sonuç

Debugging, yazdığın kodun nasıl çalıştığını anlamanın en etkili yollarından biridir. Sadece hata düzeltmek için değil, aynı zamanda öğrenmek için de harika bir araçtır. Özellikle TypeScript ile çalışıyorsan debugging özelliklerini iyi kullanmak seni bir adım öne geçirir.

Öğrendiğin tekniklerle artık bir programın:

  • Neden çalışmadığını,
  • Hangi satırda takıldığını,
  • Hangi değişkenin yanlış değeri aldığını
    kolayca bulabilir ve çözebilirsin.

Devam Et!

Debugging temellerini öğrendiğine göre artık TypeScript'in veri tiplerini ve gelişmiş özelliklerini keşfetmeye hazırsın.

Bir sonraki adımda seni TypeScript’in temel veri türleri bekliyor.

Etiketler

#Eğitimler#TypeScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

TypeScript’e Giriş: Nedir, Neden Kullanılır ve JavaScript’ten Farkı Ne?
Genel

TypeScript’e Giriş: Nedir, Neden Kullanılır ve JavaScript’ten Farkı Ne?

Yazılım dünyasında JavaScript, özellikle web geliştirme alanında en çok kullanılan programlama dillerinden biridir. Ancak JavaScript her ne kadar esnek ve güçlü bir dil olsa da, bu esnekliği bazen hatalara davetiye çıkarabilir. İşte bu noktada devreye **TypeScript**</STRO

3 dk
TypeScript Kurulum ve Geliştirme Ortamı Rehberi
Genel

TypeScript Kurulum ve Geliştirme Ortamı Rehberi

Programlamaya başlamak, yalnızca kod yazmakla değil, aynı zamanda doğru araçları kullanmakla da ilgilidir. Özellikle modern dillerden biri olan **TypeScript** ile çalışmak istiyorsan, öncelikle bilgisayarında bir geliştirme ortamı hazırlaman gerekir. Bu y

3 dk
TypeScript Derleyici ve Ayarları
Genel

TypeScript Derleyici ve Ayarları

TypeScript ile yazılım geliştirmeye başladığında, sadece kod yazmak yetmez. Kodlarının **nasıl çalıştırılacağını, nasıl derleneceğini ve nasıl düzenli tutulacağını** da bilmen gerekir. İşte burada devreye **TypeScript derleyicisi (compiler)**</e

3 dk
TypeScript’te Temel Veri Tipleri ve Kullanımları
Genel

TypeScript’te Temel Veri Tipleri ve Kullanımları

TypeScript, JavaScript’in daha güvenli ve kurallı bir versiyonudur. TypeScript kullanmanın en büyük avantajlarından biri, değişkenlerin türlerini belirleyerek yazılımcıya hataları erken aşamada göstermesidir. Bu sayede daha sağlam ve anlaşılır kodlar yazmak mümkün olur. Bu yazıda TypeS

3 dk
TypeScript’te Fonksiyonlar ve İlgili Ayarlar
Genel

TypeScript’te Fonksiyonlar ve İlgili Ayarlar

TypeScript’te fonksiyonlar, yalnızca kodu düzenli hale getirmek için değil, aynı zamanda hataları erken yakalamak ve daha güvenli yazılım geliştirmek için büyük önem taşır. Bu yazıda TypeScript’te fonksiyonları nasıl tanımlarız, nasıl daha güvenli hale getiririz ve hangi ayarlarla yazdığımız f

3 dk
TypeScript’te Nesneler (Objects) ve Tip Yönetimi
Genel

TypeScript’te Nesneler (Objects) ve Tip Yönetimi

TypeScript, JavaScript’in üzerine geliştirilmiş, tip güvenliği sağlayan bir programlama dilidir. En güçlü özelliklerinden biri, nesnelerin yapısını önceden belirleyebilmemiz ve bu sayede kodumuzu daha sağlam ve anlaşılır hale getirebilmemizdir. Bu yazıda, TypeScript’te nesne (object) t

3 dk