Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


Depurador

GNU Debugger, depurador estàndard per al sistema operatiu GNU.

Un depurador (en anglès, debugger ), és un programa que permet depurar o netejar els errors d'un altre programa informàtic. El codi a ser examinat pot alternativament estar executant-se en un simulador de conjunt d'instruccions (ISS), una tècnica que permet una gran potència en la seva capacitat de detenir-se quan són oposades condicions específiques però serà típicament una mica més lent que executant el codi directament en el processador adequat. Alguns depuradors ofereixen dues maneres d'operació - la simulació parcial o completa, per limitar aquest impacte.

Si és un depurador de nivell de font o depurador simbòlic, comunament ara vist en entorns de desenvolupament integrats, quan el programa "peta" o aconsegueix una condició predefinida, la depuració típicament mostra la posició en el codi original. Si és un depurador de baix nivell o un depurador de llenguatge de màquina, mostra la línia en el font desassemblat (tret que també tingui accés en línia al codi font original i pugui exhibir la secció apropiada del codi de l'assemblador o del compilador). Una "petada" succeeix quan el programa no pot continuar normalment a causa d'un error de programació. Per exemple, el programa va poder haver intentat usar una instrucció no disponible en la versió actual del CPU o haver intentat tenir accés a memòria protegida o no disponible.

Típicament, els depuradors també ofereixen funcions més sofisticades com executar un programa pas a pas (un pas o animació del programa), parar el programa (breacking), és a dir, pausar el programa per examinar l'estat actual en cert esdeveniment o instrucció especificada per mitjà d'un breakpoint, i el seguiment de valors d'algunes variables. Alguns depuradors tenen la capacitat de modificar l'estat del programa mentre que s'està executant, en comptes de simplement observar-lo. També és possible continuar l'execució en una posició diferent al programa a través d'un bypass en una petada o error lògic.

La importància d'un bon depurador no pot ser exagerada. De fet, l'existència i la qualitat de tal eina per a un llenguatge i una plataforma donades sovint pot ser el factor de decisió en el seu ús, fins i tot si un altre llenguatge/plataforma és més adequat per a la tasca. L'absència d'un depurador, una vegada estant acostumat a usar-ne, s'ha dit que "fa que vostè se senti com un home cec en una cambra fosca buscant un gat negre que no està allí".[1] No obstant això, el programari pot (i sovint) es comporta diferent executant-se sota un depurador que normalment, a causa dels canvis inevitables que la presència d'un depurador farà a la temporització interna d'un programari. Com a resultat, fins i tot amb una bona eina de depuració, és sovint molt difícil rastrejar problemes de temps d'execució en complexos sistemes distribuïts amb múltiples fils.

La mateixa funcionalitat que fa a un depurador útil per eliminar errors permet ser usat com a eina de craqueig de programari per evadir la protecció anticòpia, la gestió digital de drets, i altres característiques de protecció de programari. Sovint també és útil com a eina general de verificació de proves, cobertura d'errors, o analitzador de rendiment, especialment si són mostrades les longituds de trajectòria d'instrucció.

La majoria dels motors de depuració actuals, com el gdb i dbx proporcionen interfícies basades en línia d'ordres. Els frontals de depuració són extensions populars als motors de depuració, que proporcionen integració a l'IDE, animació del programa, i característiques de visualització. Alguns depuradors dels primers mainframes com l'Oliver i el SIMON van proporcionar aquesta mateixa funcionalitat per l'IBM System/360 i posteriors sistemes operatius, fins als anys 1970.


Previous Page Next Page






منقح Arabic Sazlayıcı AZ Pembibis (kumpiuter) BEW Дебъгер Bulgarian Debugger BS Debugger Czech Debugger Danish Debugger German Αποσφαλματωτής Greek Debugger English

Responsive image

Responsive image