Debug

Не следует путать с отладка программы.
debug
Скриншот программы debug
Тип отладчик
Разработчик Тим Патерсон[англ.]
Операционные системы DOS, MS-DOS, OS/2, Microsoft Windows
Сайт technet.microsoft.com/en…

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.

См. также

Примечания

Ссылки

  • [1]
Перейти к шаблону «Команды операционных систем Microsoft»
Общие команды MS-DOS и Windows
  • Append
  • Attrib
  • Break
  • Call
  • Cd (Chdir)
  • Chcp
  • Chkdsk
  • Cls
  • Command
  • Copy
  • Date
  • Debug
  • Defrag
  • Del
  • Dir
  • Diskcomp
  • Diskcopy
  • Diskpart
  • Doskey
  • Echo
  • Edit
  • Edlin
  • Erase
  • Exit
  • Expand
  • Fastopen
  • Fc
  • Find
  • For
  • Format
  • Goto
  • Graphics
  • Help
  • If
  • Label
  • Loadfix
  • Md
  • Mem
  • Mkdir
  • Mode
  • More
  • Move
  • Nlsfunc
  • Path
  • Pause
  • Print
  • Prompt
  • Rd
  • Rem
  • Ren
  • Rename
  • Replace
  • Rmdir
  • Set
  • Setver
  • Share
  • Shift
  • Sort
  • Subst
  • Time
  • Tree
  • Type
  • Ver
  • Verify
  • Vol
  • Xcopy
См. также: Список команд DOS Список команд операционных систем Microsoft