mètode de depuració d'executar codi una instrucció o línia a la vegada From Wikipedia, the free encyclopedia
L'animació del programa o el pas-a-pas es refereix al mètode de depuració d'executar codi una instrucció o línia a la vegada. El programador pot examinar l'estat del programa, la màquina i les dades relacionades abans i després de l'execució d'una línia de codi particular. Això permet al programador avaluar els efectes de cada instrucció o instrucció de manera aïllada i, per tant, obtenir informació sobre el comportament (o mal comportament) del programa en execució. Gairebé tots els IDE i depuradors moderns admeten aquest mode d'execució.[1]
El pas d'instrucció o cicle únic es referia originalment a la tècnica d'aturar el rellotge del processador i avançar-lo manualment un cicle a la vegada. Perquè això sigui possible calen tres coses:
A la gamma de processadors IBM System 360 anunciada el 1964, aquestes instal·lacions eren proporcionades per interruptors del panell frontal, botons i bancs de llums de neó. Altres sistemes, com el PDP-11, proporcionaven instal·lacions similars.[2]
Als processadors més nous, que potser no admeten l'aturada física del rellotge i tenen massa estat intern per mostrar-se de manera raonable en un panell, es pot proporcionar una funcionalitat similar a través d'un senyalador de trampa, que quan està activat indica al processador que s'aturi després de cada instrucció d'una manera similar. fins a un punt d'interrupció.
A mesura que el multiprocessament es va fer més habitual, aquestes tècniques tindrien una pràctica limitada, ja que molts processos independents s'aturarien simultàniament. Això va portar al desenvolupament de programari propietari de diversos venedors independents que proporcionaven característiques similars però restringien deliberadament els punts d'interrupció i el pas d'instruccions a programes d'aplicació concrets en espais d'adreces i fils particulars. L'estat del programa (segons el que s'aplica a l'aplicació/fil escollit) es va desar per examinar-lo a cada pas i es va restaurar abans de la represa, donant la impressió d'un sol entorn d'usuari. Això normalment és suficient per diagnosticar problemes a la capa d'aplicació.
En lloc d'utilitzar un botó d'aturada físic per suspendre l'execució, per començar a passar pel programa d'aplicació, normalment s'ha d'establir un punt d'interrupció o una sol·licitud de "Pausa", normalment en una instrucció/instrucció determinada del programa (escollida prèviament o alternativament, mitjançant per defecte, a la primera instrucció).
Per proporcionar una "animació" a pantalla completa d'un programa, normalment es requereix un dispositiu d'E/S adequat, com ara un monitor de vídeo, que pugui mostrar una secció raonable del codi (per exemple, en codi màquina desmuntat o en format de codi font) i proporcionar un punter (p. ex. <==) a la instrucció o línia actual del codi font. Per aquest motiu, l'ús generalitzat d'aquests animadors de pantalla completa al món mainframe va haver d'esperar l'arribada de sistemes de processament de transaccions, com el CICS a principis dels anys setanta i inicialment es limitaven a depurar programes d'aplicacions que operaven dins d'aquest entorn. Les versions posteriors dels mateixos productes van proporcionar un seguiment/depuració entre regions de programes per lots i altres sistemes operatius i plataformes.
Amb la introducció molt posterior dels ordinadors personals a partir de l'any 1980, els depuradors integrats es van poder incorporar més àmpliament a aquest domini d'usuari únic i van proporcionar una animació similar dividint la pantalla de l'usuari i afegint una "consola" de depuració per proporcionar la interacció del programador.
Borland Turbo Debugger va ser un producte autònom introduït el 1989 que proporcionava animació de programa a pantalla completa per a PC. Les versions posteriors van afegir suport per combinar l'animació amb les línies d'origen reals extretes en el moment de la compilació.[3]
Hi ha almenys tres tècniques de programari diferents per crear "animació" durant l'execució d'un programa.[4]
pdb
de Python, o pot prendre la forma d'inserir una instrucció de punt d'interrupció que desencadena un depurador extern si n'hi ha un.Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.