Hibakeresés hibaüzenetből

Add meg a hibaüzenetet, a kódrészletet és azt, amit már próbáltál. A modell előbb rangsorolja a lehetséges okokat, és csak utána javasol javítást.

FejlesztésHaladóAjánlott eszközök: ChatGPT, Claude, GeminiFrissítve:

Töltsd ki a saját adataiddal

A sárgával jelölt részeket cseréld a saját adataidra.

Segíts megtalálni egy hiba okát. Ne írd át azonnal a kódot; előbb diagnosztizálj. Környezet (nyelv, keretrendszer, verziók): [KÖRNYEZET] Amit a kódnak csinálnia kellene: [ELVÁRT MŰKÖDÉS] Ami ehelyett történik, a teljes hibaüzenettel: [HIBA] Az érintett kód: """ [KÓD] """ Amit már kipróbáltam: [EDDIGI PRÓBÁLKOZÁSOK] Lépések: 1. Foglald össze egy mondatban, mit mond a hibaüzenet valójában. 2. Sorold fel a lehetséges okokat valószínűség szerint. Mindegyikhez: mi szól mellette a megadott kódban, és milyen gyors ellenőrzéssel (egy parancs, egy naplósor) lehet megerősíteni vagy kizárni. 3. A legvalószínűbb okra adj javítást a lehető legkisebb módosítással. Csak a változó sorokat mutasd, előtte-utána formában. 4. Írd meg, hogyan ellenőrzöm, hogy a javítás működik, és mit ronthat el máshol. Ha a megadott részletből nem dönthető el az ok, mondd meg, melyik fájlt vagy kimenetet küldjem még. Ne találj ki függvényt, beállítást vagy könyvtárverziót; ha nem vagy biztos egy API létezésében, jelezd.

EllenőrzésCtrl + Enter: másolás

Példa: kitöltve, mintaválasszal

Környezet
Node.js 22, Express 4, PostgreSQL 16, pg könyvtár
Elvárt működés
A /users/:id végpont visszaadja a felhasználót JSON-ben
Hiba
Az első néhány kérés működik, aztán a végpont lefagy, és 30 mp után: Error: timeout exceeded when trying to connect
Kód
app.get('/users/:id', async (req, res) => { const client = await pool.connect(); const r = await client.query('SELECT * FROM users WHERE id = $1', [req.params.id]); if (!r.rows[0]) return res.status(404).json({error:'not found'}); res.json(r.rows[0]); client.release(); });
Eddigi próbálkozások
Újraindítás után megint jó egy darabig. A pool max értékét 10-ről 20-ra emeltem, akkor később jön elő.
Mintaválasz (Claude)

1. Mit mond a hiba? A kapcsolatkészlet (pool) nem tud szabad kapcsolatot adni a megadott időn belül: minden kapcsolat foglalt.

2. Lehetséges okok

  1. Kapcsolatszivárgás a 404-es ágon (nagyon valószínű). A return res.status(404) előtt nincs client.release(), és ha a lekérdezés hibát dob, akkor sem fut le. Mellette szól: a pool növelése csak késlelteti a hibát. Ellenőrzés: naplózd a pool.totalCount, pool.idleCount és pool.waitingCount értékét kérésenként; ha az idle nullára fogy, ez az.
  2. Lassú lekérdezés (kevésbé valószínű). Egyszerű kulcs szerinti keresésnél nem jellemző.

3. Javítás

Előtte:

const client = await pool.connect();
const r = await client.query(...);

Utána:

const r = await pool.query('SELECT * FROM users WHERE id = $1', [req.params.id]);

A pool.query maga kér és ad vissza kapcsolatot, így a client.release() sor törölhető.

4. Ellenőrzés: kérj le 30-szor egy nem létező azonosítót, majd egy létezőt. Ha a válasz azonnal jön, a szivárgás megszűnt. Mellékhatás: ha később tranzakció kell, ott újra saját klienst kell kérned, try/finally blokkal.

Szemléltető minta, Claude segítségével készült: azt mutatja, milyen jellegű és felépítésű válaszra számíthatsz. A többi ajánlott eszközzel a prompt várhatóan ugyanígy használható, de nem mindegyikben próbáltuk ki. A te eredményed más lesz. Hogyan készülnek a példák?

Miért működik?

Ha csak a hibaüzenetet illeszted be, a modell az első eszébe jutó javítást adja, ami gyakran tünetet kezel. A prompt diagnózist kér, rangsorolt okokkal és olcsó ellenőrzéssel, vagyis ugyanazt a sorrendet, ahogy egy tapasztalt fejlesztő gondolkodik.

Az „eddigi próbálkozások” mező sokat ér: a példában éppen az árulja el az okot, hogy a pool növelése csak elodázta a hibát.

Mire figyelj?

  • Jelszót, API-kulcsot, kapcsolati karakterláncot és ügyféladatot törölj a kódból és a naplóból, mielőtt beilleszted.
  • A modell tudása a könyvtárak verzióiról elavult lehet. Ha egy javasolt függvény nem létezik, illeszd be a hivatalos dokumentáció releváns részét.

Tippek eszközönként

Kódasszisztensek (Cursor, Claude Code, Copilot)
A kód mezőbe elég a fájl elérési útja; kérd meg, hogy előbb olvassa el a fájlt és a hívó kódot, és csak a diagnózis után módosítson.

Folytasd ezekkel

Ugyanabban a beszélgetésben küldd el, a válasz után.

  • Írj egy tesztet, ami ezt a hibát reprodukálja, és a javítás után zöldre vált.
  • Hol fordulhat még elő ugyanez a hibaminta a kódban? Mit keressek rá?

Kapcsolódó promptok

Összes fejlesztés prompt

Funkció specifikálása kódolás előtt

Mielőtt kódot kérnél az AI-tól, írasd meg vele a tervet. A prompt kérdésekkel tisztázza az ötletedet, majd rövid specifikációt készít elfogadási feltételekkel.

Fejlesztés

Kódátnézés beküldés előtt

Tapasztalt kollégaként nézi át a módosításodat: hibák és biztonsági gondok súlyosság szerint, konkrét sorral és javítási javaslattal, ízlésbeli szőrszálhasogatás nélkül.

Fejlesztés