VLV Debugger.(dos)
Download Debugger
compiler
Principle of working a debugger VLV
DEBUGGER.(DOS)
When debugger works with Your program, its programming
yours body of a code
of your program and executes it in yours
body.
All instructions of conditional and unconditional transition are
executing
software.
(Mode 'F6-RUN1 and F7-STEP')
Appointment of
the debugger.
Use for debugging the compilers.
Because of
impossibility of entering a command line brought below happen
to do such
complex starting a debug of compiler.
c:\debugger compiler.exe
my_file.xxxx
Beginning of work.
1) In file my_file.asm' in the
spot of input get up int 3, or my_file.exe
code (INT3 = CC) before this
having write rub code in the file 1.dbg.
Debugger modifies a code from the
file 1.dbg.
Example:
1) 8B F4 83 EE 04....; Before editing my_file.exe
2) CC F4 83 EE 04....; Write instead 8B code CC ( INT 3 ),but
; 8B write in the file 1.dbg
3) 8B F4 83 EE 04....; Debugger will change a code of
program in memori
; from the file 1.dbg
When starting your program,
If file 1.dbg will not be in the directory
that debugger will insert a code
90H ( NOP ).
Interruption INT 3 to use for starting a debugger only and
nevermore is use.
(if you are to change INT 3 accident not will )
Debugging registers also are not used.
You are to use their at own
discretion.
;my_file.asm
.MODEL SMALL
.STACK
100H
.DATA
.CODE
START:
INT 3 ;When starting programm will be a code
from the file 1.dbg or NOP.
.
.
.
.
.
END START
2)
Starting a debugger. (VLV_1.COM)
3) my_file.exe.
If from your program
occurs a starting other program (AH=4BH,INT 21H),
all above specified
operations,and changed byte write in the second
position in the file
1.dbg.
Work with data.
Press( 'C beginning F5-MEM ANSI,ALT+F5 HEX' )
must will be open upper, or
lower window depending on the executable
command.
(is include automatic spying data)
Upper window works with
instructions CMPSX,MOVSX,STOSX,SCASX, LODSX,and
XLAT,but with lower window
only CMPX,MOVSX (only without REP )
Codes of type REP MOVSD are executed
at a time!
Essence of work.
In the window is display field data with
which works an instruction.
Themselves data stand out a black colour on the
green background to
you have distinguish them from surround
data.
This is made to was not mistakes when writing in the memory, or
reading
from the memory.
Lower window works with upper similarly, as well
as with all codes, which
work with the memory.
Example:
MOV
AX,ES:[DI]+1D3AH
CMP CS:[BX]+40H,12H
MOV EAX,FS:[SI]
DEC
[872D]
At the keystroke 'H' mode of spying is disconnect.Relay-race will
be send
green field ,which itself begins to move, selecting data, depending
on
their size 1,2,4,8,16.
Function 'F2' breakpoints.
'ALT+F2'
removing all breakpoints.
(are executed only software with mode
F6-RUN1)
Function 'F3 writes conditional and unconditional transition (if
transition
did not work is put by 'NO' ), and olso writes all rest
transition in
files from 00.azz before 100.azz on 2000 bytes each.
Works
with mode 'F6-RUN1' only.
Function 'F4-INTX'input in the body of
interruptions.
Function 'F7-STEP' incremental debug.
Function 'F8-RUN2'
performing a program without the debugger.
Function 'F9-CLEAR' clear of
monitor.
Function 'F10-QUIT' output.
With the second debugger to work
vastly more simply
( CHANGED VERSION 1.00 ;VLV_2.COM )
1) Start its.( It
will wait your program in memories.)
2) Start is long-playing
program,then press a key 'TAB',will occur an
interception of
program.
( If your program has take care of int 9 and hardware
interruptions,interception not will be !)
If you are interested in
the development of program,are to
enumerate a small amount of remunerating
to the author.
Novokuznetsk-Siberia