Sezione |
Indirizzi Base
Registri Interni
|
Capitolo 1 |
Il Processore e il Debugger |
DEBUG 6/22 [34 di 60] |
|
|
|
Aggiornato 24 settembre 2003 e 17 febbraio 2005 |
|
Il nostro Debug è una vera bomba... Evitiamo,
per ora, di assumere files da controllare: già così, da solo, questa
utility mostra la sua assoluta versatilità.
|
Se
vuoi trarre il massimo profitto dalle pagine di questo paragrafo ti
conviene aprire una shell Dos (cliccando sulla corrispondente
icona del menu d'Avvio) e provare in diretta le cose
che descriveremo: digita subito DEBUG e, quando appare il trattino,
a sinistra, digita i comandi che ti suggerirò, di volta in volta. Diventerai ben presto autonomo e sicuro e ti verrà voglia di provare da solo... |
|
Cominciamo con il comando D,
DUMP; già il nome merita una pausa di
riflessione:
|
|
La brillante verve anglosassone ha colpito ancora... quando si richiede un dump qualcuno ci rovescia il cestino dei rifiuti sulla scrivania...; proprio quello che facciamo noi quando, disperati, ci accorgiamo di avere cestinato, per errore, un documento a cui tenevamo. Il comando D vuota sul video una bella fetta di memoria, mostrandone tutti i dettagli possibili. | |
Aldilà della metafora questo comando è veramente potente, sebbene lo si possa apprezzare solo quando si ha effettivamente qualcosa da cercare; premendo la lettera D, senza nessuna altra specifica, appare a video questa schermata: |
Se fai click sull'icona a
sinistra si apre l'Ambiente Assembly
e puoi
provare DEBUG
on-line. Scegli il pulsante di opzione "Aprire il file" o "Esegui l'applicazione" e conferma con OK. NB: alcuni gestori di protezione (per esempio SP2 di WinXP) non ti consentono questa operazione: in questo caso scrivi c:\arch-lab\bin\sys\assembler.pif direttamente nel campo indirizzo del Browser |
|
|
NB: la prima cosa che salta agli occhi è la naturalezza con cui DEBUG tratta le informazioni: poiché è uno strumento dedicato all'analisi del processore (i suoi registri) e della memoria ogni numero da esso presentato sul monitor va inteso espresso nella lingua del processore cioè esadecimale. | ||
Si tratta di uno strumento dedicato per cui, in questo ambiente, la presenza della 'H' che ci siamo educati a mettere dopo ciascun numero esadecimale è data per scontata. | ||
Naturalmente la regola vale anche quando saremo chiamati a
dare informazioni a
DEBUG, per fissare un
indirizzo o per predisporre il valore di
un registro o di una locazione di memoria... I numeri (esadecimali) digitati
dovranno essere forniti senza la 'H'
finale!
|
E' importante ricordare fin d'ora che i numeri esadecimali si possono trattare senza la "H" posteriore solo quando abbiamo a che fare con DEBUG; se è vero che esso non capirebbe (segnalando errore...) comandi del tipo D 0100H è altrettanto vero che l'assemblatore farebbe altrettanto se invece dimenticassimo di metterla . Questo concetto è ripreso e spiegato in questa pagina. |
|
Detto questo, analizziamo la videata ottenuta; sono
8 righe così strutturate:
|
|
Le 7 righe successive hanno la medesima struttura e descrivono altre 16 locazioni ciascuna, per un totale di 128 (un ottavo di kBytes). |
|
Valutiamo in modo critico le informazioni di
questa immagine:
|
|
Per motivi di chiarezza la sequenza dei 16 bytes di ciascuna riga è divisa in 2 da un trattino. | |
Se il comando D viene dato di nuovo, viene rovesciata a video la successiva "cestinata" di 128 bytes, e così ad oltranza. | |
Se si desidera tornare all'inizio o se si vuole analizzare un'altra parte della memoria basta specificare l'indirizzo subito dopo la lettera D, ma di questo parleremo nella prossima pagina. |
|
Capitolo 1 | DEBUG 6/22 | |||||||
34 di 60 |
|
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|