Studiu de caz
Studiu de caz: cădere după funcționare îndelungată urmărită până la o scurgere de handle-uri
Studiu de caz tehnic despre o cădere care apare doar la scară de o lună și care a fost restrânsă, prin organizarea punctelor de observare și extinderea jurnalizării, la investigarea unei scurgeri de handle-uri.
Prezentarea studiului de caz
Este un studiu de caz despre o aplicație Windows care se prăbușește brusc doar după aproximativ o lună de funcționare continuă. Am început prin organizarea punctelor de observare și am restrâns investigația, în final, în jurul unei scurgeri de handle-uri. Esențial nu a fost doar cauza în sine, ci faptul că am stabilit ce observații trebuie pregătite mai întâi.
Simptome
- Defectul nu apare în câteva zile, ci doar după funcționare îndelungată.
- Din modul în care apare excepția nu se poate stabili cu ușurință dacă este vorba de o scurgere.
- Apare doar la locul de exploatare, iar pe stația de dezvoltare reproducerea trebuie comprimată.
Constrângeri
- A aștepta luni întregi reproducerea nu este realist.
- Deoarece sunt implicate reconectarea camerei și căile anormale, jurnalele scenariului normal nu sunt suficiente.
- Trebuia să se poată observa continuu care resursă crește.
Ce am observat
- Un heartbeat cu
Handle Count,Private BytesșiThread Count - Jurnale de limită pentru începutul, reconectarea și încheierea sesiunii
- Jurnale ale ciclului de viață, în perechi:
create/open/registerșiclose/dispose/unregister
Cum am izolat cauza
Mai întâi nu am urmărit „căderea după funcționare îndelungată” ca atare, ci am comprimat reproducerea în jurul căilor de eșec legate de reconectare și de timeout. Astfel am putut stabili că este mai plauzibil să bănuim o scurgere de handle-uri decât o scurgere de memorie, iar observațiile s-au putut concentra acolo.
Ce am îmbunătățit
- Am adăugat elemente de monitorizare, astfel încât să se poată urmări tendința de creștere, nu doar momentul căderii.
- Am pus la punct jurnalele de limită, pentru a vedea mai ușor care componentă a deschis și care a închis o resursă.
- Am organizat rezultatele investigației într-o formă ușor de preluat de o infrastructură ulterioară de testare a căilor de eșec.
Serviciile legate de acest caz
Acest studiu de caz se leagă atât de investigarea defectelor și analiza cauzei principale, adică de izolarea defectelor care apar doar după funcționare îndelungată, cât și de dezvoltarea de aplicații Windows, în care jurnalizarea, reconectarea și observabilitatea în exploatare sunt puse la punct din partea implementării.
Solicitați o consultație
Dacă această pagină se apropie de situația cu care vă confruntați, solicitați o consultație și descrieți-ne contextul actual și tipul de sprijin de care aveți nevoie.