Отладка (команда) - Debug (command)
| Автор (ы) оригинала | Тим Патерсон |
|---|---|
| Разработчики) | Microsoft , IBM , Digital Research , Novell , Caldera |
| Написано в | MS-DOS : язык ассемблера x86 |
| Операционная система | DOS , OS / 2 , Windows |
| Тип | Отладчик |
| Лицензия | MS-DOS v2.0, FreeDOS: MIT OS / 2, Windows: проприетарное программное обеспечение |
| Веб-сайт | Отлаживать |
Строчно-ориентированный отладчик DEBUG - это внешняя команда в таких операционных системах , как DOS , OS / 2 и Windows (только в 16-битных / 32-битных версиях).
DEBUG может действовать как программа на ассемблере , дизассемблере или шестнадцатеричном дампе, позволяя пользователям интерактивно исследовать содержимое памяти (на языке ассемблера , в шестнадцатеричной системе или ASCII ), вносить изменения и выборочно выполнять COM , EXE и другие типы файлов. Он также имеет несколько подкоманд, которые используются для доступа к определенным секторам диска , портам ввода-вывода и адресам памяти .
Обзор
Традиционно все компьютеры и операционные системы включают функцию обслуживания, которая используется для определения правильности работы программы. DEBUG изначально был написан Тимом Патерсоном для этой цели в 86-DOS . Когда Патерсон начал работать в Microsoft в начале 1980-х, он принес с собой программу. DEBUG была частью DOS 1.00 и была включена в MS-DOS / PC DOS и некоторые версии Microsoft Windows . Первоначально называвшийся DEBUG.COM, исполняемый файл был переименован в DEBUG.EXE с DOS 5.0.
Windows XP и более поздние версии включены DEBUGв подсистему MS-DOS для обеспечения совместимости с MS-DOS. 16-разрядные команды DOS недоступны в 64-разрядных выпусках Windows.
MS-DOS / PC DOS DEBUG имеет несколько ограничений:
- В режимах сборки / разборки он поддерживает только коды операций 8086 .
- Он может обращаться только к 16-битным регистрам, но не к 32-битным расширенным регистрам.
- Когда используется подкоманда «N» для именования файлов, имя файла сохраняется от смещения DS : 5D до DS: 67 ( область блока управления файлом префикса сегмента программы ), что означает, что программа может сохранять файлы только в формате имени файла FAT 8.3 .
Усовершенствованные пакеты DEBUG включают команду DEBUG в Novell DOS 7 , OpenDOS 7.01 и DR-DOS 7.02 и более поздних версиях, являющуюся повторной реализацией прежнего отладчика символьных инструкций SID / SID86 от Digital Research , который поставлялся с предыдущими версиями DR DOS . Он полностью совместим с синтаксисом командной строки DEBUG MS-DOS / PC DOS, но предлагает множество улучшений, включая поддержку 16-битных и 32-битных кодов операций вплоть до Pentium , расширенный режим (/ X) с десятками дополнительных команд. и подрежимы, значительно улучшенный синтаксис командной строки с определяемыми пользователем макросами и средствами символьной отладки с именованными регистрами, загруженными таблицами символов , математическими операциями и базовыми преобразованиями , а также комментирующим дизассемблером . Некоторые версии также использовали DPMS для работы в качестве отладчика защищенного режима в «скрытом режиме».
FreeDOS версия DEBUG была разработана Полом Войта и распространяется под лицензией MIT License .
Также существует 32-битная версия клона "DEBUGX", поддерживающая 32-битные программы DPMI . Андреас «Иафет» Греч, автор расширителя HX DOS , разработал расширенные версии DEBUG с 0.98 по 1.25, а бывший разработчик DOS для ПК Вернон С. Брукс добавил версии 1.26 в 1.32.
Синтаксис
DEBUG [[drive:][path] filename [parameters]]
Когда DEBUG запускается без каких-либо параметров, появляется приглашение DEBUG со знаком «-». Затем пользователь может ввести одну из нескольких одно- или двухбуквенных подкоманд, включая «A» для входа в режим ассемблера, «D» для выполнения шестнадцатеричного дампа , «T» для трассировки и «U» для разборки (дизассемблирования) программы. в памяти. DEBUG также может использоваться как интерпретатор «сценария DEBUG», используя следующий синтаксис.
DEBUG < filename
Файл сценария может содержать подкоманды DEBUG и инструкции на языке ассемблера. Этот метод можно использовать для создания или редактирования двоичных файлов из командных файлов .
Использование в целях, не связанных с отладкой
Утилита DEBUG полезна для редактирования двоичных файлов в среде, где установлена только DOS без чего-либо еще. Его также можно использовать для редактирования секторов диска, что является одним из методов удаления вирусов загрузочного сектора.
Доступность
Хотя техническая документация по команде DEBUG была удалена с выпуском MS / DOS 3.3, команда осталась в стандартном дистрибутиве, в отличие от того, что было сделано с EXE2BIN .
DEBUG в других операционных системах
В операционных системах Intel ISIS-II и iRMX 86 , декабрь TOPS-10 и TOPS-20 , ТЕОС / OASIS , Zilog Z80-RIO , Stratus OpenVOS , PC-MOS и AROS также обеспечивают DEBUGкоманду.
Смотрите также
- Список команд DOS
- DDT (команда CP / M) (метод динамической отладки)
- SID (отладчик символьных инструкций)
- SYMDEB
- CodeView
- Турбо-отладчик
- SoftICE