Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Capitolo 1

Home » Programma il Computer » Tutorial Assembly

Capitolo 1 - Il processore - Il Debugger

  Il Processore e il Debugger

DEBUG 2/22 [30 di 60] 

    

    Che cos'è un Debugger? 
     
bulletNel linguaggio comune un bug è una cosa fastidiosa, un pidocchio, una cimice, una calamità...
bulletGli anglosassoni sono molto immediati nel definire i concetti e, spesso, associano ad eventi tecnici un'immagine forte e molto colorata; così un errore di programmazione diventa un bug....
bullet.... e lo strumento che consente di localizzare ed eliminare i bug è diventato Debugger, lo "spulciatore"...
bulletLa realtà è, a mio avviso, molto più nobile: il Debugger è molto di più, è un amico inseparabile, in grado quasi sempre di aiutarti a risolvere i problemi e a trovare gli errori più subdoli; la sua forza consiste nella capacità di simulare l'esecuzione di qualunque programma eseguibile (sia di tipo COM che di tipo EXE).
bulletSe l'assemblatore ha ritenuto corretta la sintassi del sorgente e il linker ha generato senza errore l'eseguibile non è detto che il nostro programma "giri" come ci aspettiamo; al contrario sono spesso in agguato gli errori di concetto che si manifestano di solito con devastante arroganza, bloccando tutto il computer e costringendoci a resettarlo (premere il pulsante di reset o chiudere l'applicazione con Ctrl-Alt-Canc). Sono i cosiddetti errori in run-time.
bulletIn questi casi il modo migliore per capire dove abbiamo sbagliato è ricompilare il sorgente con dei break-point, cioè dei punti in cui il programma è costretto a fermarsi.

      

Suggerimento I break-point di solito si fissano inserendo nel punto desiderato l'istruzione INT 03H (Ricorda bene questo concetto!!); la loro presenza è del tutto irrilevante nell'esecuzione normale di un programma, ma se l'eseguibile è fatto girare sotto DEBUG esso si fermerà proprio nel punto previsto, consentendo l'esecuzione passo-passo delle successive istruzioni, fino a localizzare quella che ha creato l'errore run-time.

      

bulletDunque nella fase di collaudo e messa a punto di un programma il Debugger è uno strumento di lavoro particolarmente utile; da questo punto di vista si occupa del caricamento in memoria dell'eseguibile, in modo paragonabile a quello del loader del sistema operativo e, dopo aver preparato i puntatori alla prima istruzione (CS:IP) e alla prima locazione dello stack (SS:SP) cede il controllo a noi, manifestando la sua disponibilità con un trattino posto sulla riga successiva all'intestazione:

      

Microsoft (R) Symbolic Debug Utility Version 4.00
Copyright (C) Microsoft Corp 1984, 1985. All rights reserved.
Processor is [80286]
-

      

bulletL'immagine proposta mostra l'intestazione del Symbolic Debug della Microsoft, SymDeb.exe, una versione più dotata di quella di solito disponibile, tipica del sistema operativo e fornita con esso, Debug.exe; le differenze tra le 2 versioni sono funzionali, ma sostanzialmente assicurano lo stesso servizio.

      

bulletNon bisogna ignorare, in questa fase di presentazione, l'altra grande valenza del Debugger: forse è esagerato chiamarlo programma per voyeur, ma certamente grande è l'emozione nel cercare di capire la logica che ha spinto un programmatore a sviluppare la propria creatura: il Debugger è in grado di dare questa emozione!

      

Suggerimento Con il Debugger è possibile aprire ed eseguire qualunque programma eseguibile: poichè è in grado di mostrarne il codice dissassemblato (molto vicino a quello sorgente originale) è facile scorrerne il contenuto, per cercare di capire o scoprire i trucchi del suo autore. (come pensi che facciano i "crackatori" di professione?).

      

bulletDetto questo non rimane che cominciare l'avventura...

    

Pagina Precedente Capitolo 1 Pagina Successiva DEBUG 2/22   Torna alla Home  del Capitolo1 del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
30 di 60
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

    

CAP. 1 » 1. Processore 80x86 2. Istruzioni 80x86  3. Debug  4. La Grande Libreria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati