Depanator

Depanator

Descrierea imaginii Winpdb-1.3.6.png. informație
Tip Tipul software-ului ( in )

Un debugger ( în engleză depanator ) sau depanator (bug - ul Frenchification) este un software care ajută un dezvoltator pentru a analiza bug - uri ale unui program de . Pentru a face acest lucru, vă permite să rulați programul pas cu pas - adică cel mai adesea linie cu linie -, să afișați valoarea variabilelor în orice moment și să configurați puncte. linii.

Aceasta este aplicația pentru programarea computerizată a procesului de depanare .

utilizare

Programul care va fi depanat este executat prin intermediul depanatorului și rulează normal. Debuggerul oferă apoi programatorului posibilitatea de a observa și controla execuția programului, permițându-i prin diferite mijloace să-l observe, să îl oprească (să întrerupă execuția programului) și să-l schimbe. De exemplu, stiva de execuție și conținutul variabilelor din memorie pot fi observate, iar valoarea variabilelor poate fi modificată pentru a modifica fluxul de control al programului pentru a determina, de exemplu, cauza unei eșecuri.

Când executarea programului este oprită, depanatorul afișează poziția curentă de execuție în codul sursă original pentru depanare formală  (în) și depanare la nivel sursă. Debuggerul la nivel scăzut sau la nivel de mașină arată linia dezasamblată .

Mulți depanatori fac posibilă, pe lângă observarea stării registrelor procesorului și a memoriei, să le modificați înainte de a readuce controlul la programul depanat. Ele pot fi apoi utilizate pentru a localiza anumite protecții software și a le dezactiva, ducând la proiectarea unei fisuri . Astfel, unele programe, știind cum funcționează depanatorii și doresc să prevină astfel de modificări, implementează trucuri anti-depanare .

Tehnici

Instrumentele oferite de depanatori depind în esență de limbajul de programare (utilizat pentru a dezvolta programul de depanat) pentru care a fost conceput. Cu toate acestea, marea majoritate a depanatorilor oferă instrumente similare.

Instrumente pentru controlul execuției programului

Instrumente pentru observarea stării programului

În plus, depanatorul vă permite în general să modificați starea programului, atunci când executarea acestuia este oprită:

Depanare la distanță, depanare încrucișată

De depanare transversală sau depanare transversală este de a depana un software de la distanță și de multe ori pentru un alt post de dezvoltare arhitectura țintă.

Kernel Debugger

Depanarea unui kernel sau a unui driver de sistem de operare necesită instrumente adaptate acestei sarcini deosebit de sensibile. În special, această depanare se face de obicei de la distanță prin legătura serială (dar uneori prin Ethernet) deoarece depanatorul care preia controlul complet asupra nucleului, mașina țintă devine apoi inutilizabilă (îngheață complet la fiecare punct de întrerupere).

A se vedea, de exemplu, depanatorul kgdb încorporat în kernel-ul Linux .

Depanatori cunoscuți

Bibliografie

Note și referințe

  1. (ro) „  Manual de depanare Ladebug: Compaq Tru64 UNIX versiunea 5.1A sau o versiune ulterioară  ” pe tru64unix.compaq.com ,Iunie 2001(accesat la 7 decembrie 2012 )
  2. (în) „  The Perl Debugger (s)  ” pe perl.org ,7 decembrie 2012(accesat la 7 decembrie 2012 )
  3. (în) „  HP WDB  ” pe www2.hp.com ,7 decembrie 2012(accesat la 7 decembrie 2012 )