İçeriğe geç

Hata Ayıklama: Stack Trace ile Sohbet

Hata mesajını ChatGPT'ye verirken neyi nasıl ekleyeceksin? 'Bu kod çalışmıyor'tan profesyonel debug oturumuna.

Şükrü Yusuf KAYA
9 dakikalık okuma
Orta
Hata Ayıklama: Stack Trace ile Sohbet

"Çalışmıyor" demek = "Yardımcı olamam" cevabı#

Profesyonel debug için ChatGPT'ye 5 bilgi ver:
  1. Bekledim ne: doğru çıktı/davranış
  2. Aldım ne: gerçek davranış / hata mesajı
  3. Trace: stack trace tam
  4. İlgili kod: kısa, ilgili kısım
  5. Ne denedim: bilinen yanlış denemeler
text
Bir hata aldım, debug etmeme yardım et.
 
[1] BEKLİYORDUM:
`POST /api/comments` 200 dönecek, yorum DB'ye kaydedilecek.
 
[2] OLAN:
500 Internal Server Error.
 
[3] STACK TRACE:
```
TypeError: Cannot read properties of undefined (reading 'connection')
at MongoStore.create (/app/lib/mongodb.ts:23:18)
at handler (/app/api/comments/route.ts:45:12)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
```
 
[4] İLGİLİ KOD (mongodb.ts:18-30):
```typescript
export async function getDB() {
if (cached.connection) return cached.connection;
cached.connection = await mongoose.connect(MONGODB_URI);
return cached.connection.connection; // ← burada
}
```
 
[5] DENEDİĞİM:
- console.log koydum, mongoose.connect dönüyor ama "connection" üzerinde "connection" property'si yok
- mongoose docs'a baktım, .connection direkt değil .connections (array)
 
İste:
- Hatanın **kök nedeni** (yüzey değil)
- 3 düzeltme yolu, en doğrudan olanı işaretle
- Tekrar olmaması için **önleyici** kod kalitesi (type guard, init pattern)
Profesyonel debug promptu — 5 bilgi ile hızlı çözüm.
⚠️ 'Bana yardım et' anti-patterni
ChatGPT'ye 'kod çalışmıyor, yardım et' yazıp kodu yapıştırmak: model en olası 5-10 sebebi spekülatif sıralayacak. Karşılaştırılırsa 5-bilgi formatı vermek = 1 mesajda doğru cevap.
Genelde IDE yakalar. ChatGPT'ye gerek yok. Ama dil/sürüm uyumsuzluğu için (ES2022 feature TS 4.9'da yok gibi) net çözüm verir.

Özet#

✓ 5 bilgi formatı: bekleniyor, olan, trace, kod, denenmiş ✓ "Çalışmıyor" değil — net problem ifadesi ✓ Hata tipi (syntax/logic/perf/intermittent) ne kadar belli, çözüm o kadar hızlı
Sıradaki ders: Code Review ve Refactoring.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

İlgili İçerikler