CodeBlanks Logo Icon CodeBlanks

Özet - Hata ayıklama

inspect, console ve util.inspect'i birleştirerek bir debug oturumu yazarsın.

Özet - Hata ayıklama

Bu grupta Node.js'in hata ayıklama araçlarını öğrendin: node inspect terminal ayıklayıcısı, Chrome DevTools görsel arayüzü, console yöntemleri, util.inspect ile nesne inceleme, ve source map ile orijinal kaynağa eşleme. Şimdi hepsini birleştiren bir hata ayıklama yardımcısı yazacağız.

Yapı: util.inspect ile nesneleri biçimlendir, console.log ile genel çıktı ver, console.error ile hataları ayrı yaz. Bu, gerçek bir projede günlükleme (logging) yardımcısının nasıl görüneceğine dair küçük bir örnek. Hata ayıklama sırasında doğru aracı seçmek zaman kazandırır: hızlı inceleme için console.log, görsel inceleme için DevTools, satır satır ilerlemek için node inspect.

Uygulama Hata ayıklama yardımcısı yaz

const util = require("node:util"); ile içe aktar. const record = { ad: "Ayşe", yas: 30, notlar: [85, 90, 78] }; tanımla. function debugLog(title, data) { console.log(title + ": " + util.inspect(data, { depth: 2, colors: false })); } tanımla. debugLog("Kayıt", record) ile çağır. console.log("Ayıklama tamam") ekle.

Başlangıç kodu

index.js
// util'i içe aktar
// buraya yaz

// kayıt nesnesini tanımla
// buraya yaz

// debugLog fonksiyonunu tanımla
// buraya yaz

// debugLog ile çağır
// buraya yaz

// "Ayıklama tamam" yazdır
// buraya yaz

Örnek çözüm

index.js
const util = require("node:util");
const record = { ad: "Ayşe", yas: 30, notlar: [85, 90, 78] };
function debugLog(title, data) {
  console.log(title + ": " + util.inspect(data, { depth: 2, colors: false }));
}
debugLog("Kayıt", record);
console.log("Ayıklama tamam");

Beklenen çıktı

Kayıt: { ad: 'Ayşe', yas: 30, notlar: [ 85, 90, 78 ] }
Ayıklama tamam

Soru ve cevaplar

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

1 Karmaşık bir nesneyi incelemek için en uygun araç hangisidir?

index.js
util.inspect(obj, { depth: 3 })
  • Yalnızca console.log
  • Yalnızca process.exit
  • util.inspect ile biçimlendirip console.log'a vermek Doğru cevap
  • throw new Error

Açıklama: util.inspect nesneyi okunaklı biçimlendirir.

2 Aracı amacına eşle

Kavram Anlamı
node inspect Terminal ayıklayıcısı
DevTools Görsel arayüz
console.error Hata akışı
util.inspect Nesne biçimlendirme

3 inspect çağrısını tamamla

Soru
console.log(util.____(record, { depth: 2 }));
Cevap
console.log(util.inspect(record, { depth: 2 }));

Açıklama: util.inspect record nesnesini dizeye çevirir.

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