CodeBlanks Logo Icon CodeBlanks

Chrome DevTools

Chrome DevTools ile Node.js hata ayıklamayı öğrenirsin.

Chrome DevTools ile ayıklama

Terminal yerine görsel bir arayüz istiyorsan Chrome DevTools kullanırsın. node --inspect-brk dosya.js komutu Node.js'i bir hata ayıklama sunucusu olarak başlatır. Sonra Chrome'da chrome://inspect adresini açar ve inspect bağlantısına tıklarsın.

--inspect-brk bayrağı kodu ilk satırda durdurur; böylece erken başlayan kodları yakalarsın. Yalnızca --inspect kullanırsan kod normal çalışır, ayıklayıcı bağlanana kadar durmaz. DevTools'ta kesme noktaları koymak için satır numarasının solundaki oluk (gutter) tıklanır. Değişkenler panelde canlı görünür; fare ile üzerlerine gelince değerleri genişletilir. Bu yöntem, karmaşık nesneleri görsel olarak incelemek için uygundur.

Uzaktan bağlantı

DevTools, Node.js sürecine WebSocket üzerinden bağlanır. Varsayılan bağlantı noktası (port) 9229'dur. Birden çok işlem çalıştırıyorsan --inspect-brk=9230 ile farklı bir bağlantı noktası seçersin.

Uzaktaki bir sunucuda çalışan Node.js'i ayıklamak için --inspect=0.0.0.0:9229 yazarsın; bu, dış ağdan bağlantıya izin datar (yalnızca güvenilir ağlarda). Chrome'da chrome://inspect sayfasında Configure... düğmesi ile hedef sunucuyu eklersin. Bağlandıktan sonra yerel ayıklamanın tüm olanakları (kesme noktası, değişken inceleme, çağrı yığını) uzaktan da çalışır. Bu, üretim (production) sunucusundaki bir hatayı yerel makineden ayıklamak için kullanışlıdır.

Uygulama DevTools için betik yaz

function divide(a, b) { if (b === 0) throw new Error("Sıfıra bölme"); return a / b; } tanımla. debugger; satırı ekle. console.log("Hazır: " + divide(10, 2)) ile yazdır.

Başlangıç kodu

index.js
// bol fonksiyonunu tanımla
// buraya yaz

// kesme noktası ekle
// buraya yaz

// "Hazır: ..." yazdır
// buraya yaz

Örnek çözüm

index.js
function divide(a, b) {
  if (b === 0) throw new Error("Sıfıra bölme");
  debugger;
  return a / b;
}
console.log("Hazır: " + divide(10, 2));

Beklenen çıktı

Hazır: 5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 İnceleme bayrağını tamamla

Soru
node --____-brk dosya.js
Cevap
node --inspect-brk dosya.js

Açıklama: --inspect-brk bayrağı ilk satırda durur.

2 Parçayı rolüne eşle

Kavram Anlamı
--inspect-brk İlk satırda durur
chrome://inspect DevTools'u açar
9229 Varsayılan bağlantı noktası
WebSocket Bağlantı protokolü

3 DevTools arayüzünü ne açar?

index.js
chrome://inspect
  • chrome://inspect Doğru cevap
  • node --version
  • npm install
  • node dosya.js

Açıklama: chrome://inspect DevTools'u açar.

Orta seviye bölümündeki tüm dersler