Меню
Главная
Случайная статья
Настройки
|
debug — Программа-отладчик, которую используют для проверки и отладки выполняемых файлов. Использовалась при операционной системе DOS. Под более поздние версии операционных систем работает через эмулятор DOS и имеет ограниченные возможности. Также иногда называют процесс отладки программы.
Содержание
Назначение
Данная программа является консольным приложением и предназначена для создания или изменения кода файлов. С помощью неё можно создавать простые приложения под DOS и отслеживать их работу. Данный отладчик находится на самом низком уровне компиляторов assembler. Но обладает неплохими возможностями такими как просмотр, изменение памяти и получение состояния регистров.
Команды
Запуск отладчика
Программа вызывается через командную строку:
DEBUG
DEBUG [[диск:][путь]имя_файла [параметры]]
DEBUG C:\мойпуть\My.com
Работа с файлами
Команда
|
Описание
|
Пример
|
-N
|
-N Путь_Имя_Файла. С помощью этой команды можно загружать и сохранять файлы. Сокращённо от слова Name.
|
-N My.com [Нажать Enter]
|
-L
|
Загрузка файла. Сокращённо от слова Load.
|
-N My.com [Нажать Enter] -L [Нажать Enter]
|
-W
|
-W Путь_Имя_Файла. Сохранить файл. Сокращённо от слова Write.
|
-N My.com [Нажать Enter] -W [Нажать Enter]
Writing Число_Байт bytes
|
Отображение и изменение значений регистров
Команда
|
Описание
|
Пример
|
-R
|
Выдаёт содержание всех регистров.
|
-R [Нажать Enter]
AX=D3E0 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=16BB ES=16BB SS=16BB CS=16BB IP=0100 NV UP DI PL NZ NA PO NC
15A3:0100 30C0 XOR AL,AL
|
-R [регистр]
|
Просмотр регистра и запись нового значения в регистр.
|
-R AX [Нажать Enter]
AX 0000
- 666 [Нажать Enter]
|
Дамп памяти
Команда
|
Описание
|
Пример
|
-D
|
Выдаёт содержимое памяти. Сокращённо от слова Dump.
|
-D [Нажать Enter]
|
-D [Начало_Сегмента] L [Конец_Сегмента]
|
Выдаёт содержимое памяти от начального сегмента до конечного сегмента. Чтобы вывести всю память нужно ввести -D 0 L 0 [Нажать Enter]
|
-D 0000 L 0005 [Нажать Enter]
1814:0000 CD 20 FF 9F 00
|
Дизассемблирование
Команда
|
Описание
|
Пример
|
-U
|
Команда преобразования кода в инструкции ассемблера. Сокращённо от слова Unassemble.
|
-U [Нажать Enter]
1814:0100 ADD [BX+SI],AL
1814:0102 XOR AL,00
|
Ассемблирование
Команда
|
Описание
|
Пример
|
-A
|
Преобразования инструкции ассемблера в машинный код. Сокращённо от слова Assemble.
|
-A [Нажать Enter] 1814:0100 MOV AX,0009 1814:0103 [Вводим_Дальше] [Нажать Enter]
|
Компиляция
Команда
|
Описание
|
Пример
|
-G
|
Запуск исполнения программы. Сокращённо от слова Go.
|
-G [Нажать Enter]
Program terminated normally
|
-G =[Адрес_Начала_Работы]
|
Начиная с этого адреса начинается компиляция.
|
-G =100
|
-G [Адрес_Брейкпоинта] [Адрес_Брейкпоинта] …
|
Программа запускается и выполняется пока не дойдёт до брейкпоинта после чего она остановится и выведет значения регистров для продолжения работы необходимо нажать -G. Максимальное число брейкпоинтов 10.
|
-G 176 47d 537 647 [Нажать Enter]
|
Трассировка
Команда
|
Описание
|
Пример
|
-T
|
Команда имеет сходство с командой (-G) Go, но отличается тем что выводит значения регистров после каждой инструкции. Сокращённо от слова Trace.
|
-T [Нажать Enter]
|
-T =[Адрес_Начала_Работы] [Количество_Инструкций]
|
Дополнительно указывает с какого адреса запускаться программе и количество исполняемых инструкций.
|
-T =100 5[Нажать Enter]
|
Использование для других целей
Утилитой debug можно было редактировать двоичные файлы, в той среде, где установлен только DOS и больше ничего. Ещё её можно было использовать и для редактирования секторов дисков, например, чтобы излечить компьютер от boot-вирусов эпохи DOS.
См. также
Ссылки
|
|