| Тип | отладчик |
|---|---|
| Разработчик | Тим Патерсон |
| Операционные системы | DOS, MS-DOS, OS/2, Microsoft Windows |
| Сайт | technet.microsoft.com/en… |
debug — Программа-отладчик, которую используют для проверки и отладки выполняемых файлов. Использовалась при операционной системе DOS. Под более поздние версии операционных систем работает через эмулятор DOS и имеет ограниченные возможности. Также иногда называют процесс отладки программы.
Назначение#edit
Данная программа является консольным приложением и предназначена для создания или изменения кода файлов. С помощью неё можно создавать простые приложения под DOS и отслеживать их работу. Данный отладчик находится на самом низком уровне компиляторов assembler. Но обладает неплохими возможностями такими как просмотр, изменение памяти и получение состояния регистров.
Команды#edit
Запуск отладчика#edit
Программа вызывается через командную строку:
DEBUG DEBUG [[диск:][путь]имя_файла [параметры]] DEBUG C:\мойпуть\My.com
Работа с файлами#edit
| Команда | Описание | Пример |
|---|---|---|
| -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 |
Отображение и изменение значений регистров#edit
| Команда | Описание | Пример |
|---|---|---|
| -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] |
Дамп памяти#edit
| Команда | Описание | Пример |
|---|---|---|
| -D | Выдаёт содержимое памяти. Сокращённо от слова Dump. | -D [Нажать Enter] |
| -D [Начало_Сегмента] L [Конец_Сегмента] | Выдаёт содержимое памяти от начального сегмента до конечного сегмента. Чтобы вывести всю память нужно ввести -D 0 L 0 [Нажать Enter] | -D 0000 L 0005 [Нажать Enter] 1814:0000 CD 20 FF 9F 00 |
Дизассемблирование#edit
| Команда | Описание | Пример |
|---|---|---|
| -U | Команда преобразования кода в инструкции ассемблера. Сокращённо от слова Unassemble. | -U [Нажать Enter] 1814:0100 ADD [BX+SI],AL 1814:0102 XOR AL,00 |
Ассемблирование#edit
| Команда | Описание | Пример |
|---|---|---|
| -A | Преобразования инструкции ассемблера в машинный код. Сокращённо от слова Assemble. | -A [Нажать Enter] 1814:0100 MOV AX,0009 1814:0103 [Вводим_Дальше] [Нажать Enter] |
Компиляция#edit
| Команда | Описание | Пример |
|---|---|---|
| -G | Запуск исполнения программы. Сокращённо от слова Go. | -G [Нажать Enter] Program terminated normally |
| -G =[Адрес_Начала_Работы] | Начиная с этого адреса начинается компиляция. | -G =100 |
| -G [Адрес_Брейкпоинта] [Адрес_Брейкпоинта] … | Программа запускается и выполняется пока не дойдёт до брейкпоинта после чего она остановится и выведет значения регистров для продолжения работы необходимо нажать -G. Максимальное число брейкпоинтов 10. | -G 176 47d 537 647 [Нажать Enter] |
Трассировка#edit
| Команда | Описание | Пример |
|---|---|---|
| -T | Команда имеет сходство с командой (-G) Go, но отличается тем что выводит значения регистров после каждой инструкции. Сокращённо от слова Trace. | -T [Нажать Enter] |
| -T =[Адрес_Начала_Работы] [Количество_Инструкций] | Дополнительно указывает с какого адреса запускаться программе и количество исполняемых инструкций. | -T =100 5[Нажать Enter] |
Использование для других целей#edit
Утилитой debug можно было редактировать двоичные файлы, в той среде, где установлен только DOS и больше ничего. Ещё её можно было использовать и для редактирования секторов дисков, например, чтобы излечить компьютер от boot-вирусов эпохи DOS.
См. также#edit
Ссылки#edit
This article is mirrored from “Debug” on Русский Wikipedia, revision 152328074, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.
Synced with Wikipedia revision 152328074 · just now