Depanator

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Un depanator de computer este un program / software conceput special pentru analiza și eliminarea erorilor ( depanare ), adică erori de programare interne codului altor programe. [1]

Împreună cu compilatorul, este unul dintre cele mai importante instrumente de dezvoltare disponibile unui programator , adesea inclus într-un mediu de dezvoltare integrat (IDE), deoarece este capabil să-l ajute pe programator să identifice erorile semantice din cod. , altfel dificil de identificat în timpul rulării .

Cele mai multe depanatoare includ un dezasamblator , cum ar fi programul GNU Binutils objdump .

Descriere

Sarcina principală a depanatorului este de a afișa fragmentul de cod al mașinii care cauzează problema (de obicei un accident ). Codul poate fi afișat în forma sa nativă, tradus în limbaj de asamblare sau chiar sub formă de cod sursă în limbajul de programare în care a fost scris programul analizat. Pentru a afișa codul de asamblare, depanatorul folosește de obicei un dezasamblator , posibil integrat în el. Cu toate acestea, pentru analiza codului sursă, este necesar un tip special de compilare pentru programul utilizatorului.

Deoarece compilarea depanată introduce cantități mari de instrucțiuni suplimentare în program, un program care rulează în modul de depanare este de obicei mult mai lent decât rularea direct pe procesorul pentru care a fost dezvoltat.

Dacă se folosește un interpret , depanarea este mult mai naturală prin însăși natura interpretării.

Aproape toți depanatorii permit executarea programului analizat în pași mici, arătând în întreruperi codul aferent instrucțiunii sursei curente și starea curentă a procesorului sau starea sau valoarea variabilelor asociate cu respectivul din celulele de memorie . Întreruperea execuției poate avea loc pas cu pas cu fiecare instrucțiune, eventual intrând în alte subrutine sau în puncte atribuite explicit de utilizator ( punct de întrerupere sau punct de supraveghere). Ultima instrucțiune evidențiată înainte de blocare este de obicei punctul sau cauza evenimentului nedorit, deși în general acest lucru poate depinde la rândul său de rezultatele instrucțiunilor anterioare (de exemplu, valori nule ale variabilelor sau parametrii trecuți).

Multe depanatoare conțin funcții mai sofisticate, cum ar fi capacitatea de a modifica valoarea unor locații de memorie sau capacitatea de a modifica fluxul programului executând părți ale codului mașinii care nu sunt atinse în mod normal.

Unele depanatoare sunt mașini virtuale reale care simulează o anumită familie de procesoare, în timp ce altele exploatează anumite funcții ale procesorului hardware pentru a putea analiza și controla fluxul PROGRAMULUI

Lista celor mai utilizate depanatoare

Notă

  1. ^ Mikejo5000, Ce este Depanarea? - Visual Studio , la docs.microsoft.com . Adus pe 10 septembrie 2020 .

Elemente conexe