Отладка (команда)
Оригинальный автор(ы) | Тим Патерсон |
---|---|
Разработчик(и) | Microsoft , IBM , Digital Research , Novell , Caldera |
Написано в | MS-DOS : язык ассемблера x86. |
Операционная система | ДОС , ОС/2 , Windows |
Тип | Отладчик |
Лицензия | MS-DOS v2.0, FreeDOS: MIT OS/2, Windows: собственное программное обеспечение. |
Веб-сайт | Отлаживать |
Линейно-ориентированный отладчик DEBUG.EXE
— внешняя команда в таких операционных системах , как DOS , OS/2 и Windows (только в 16-битных/32-битных версиях). [1] ).
DEBUG может действовать как ассемблер , дизассемблер или программа шестнадцатеричного дампа , позволяя пользователям интерактивно проверять содержимое памяти (на языке ассемблера , в шестнадцатеричном формате или ASCII ), вносить изменения и выборочно выполнять COM , EXE и другие типы файлов. Он также имеет несколько подкоманд, которые используются для доступа к определенным секторам диска , портам ввода-вывода и адресам памяти .
Обзор
[ редактировать ]Традиционно все компьютеры и операционные системы включают функцию обслуживания, используемую для определения правильности работы программы. [ нужна ссылка ] DEBUG изначально был написан Тимом Патерсоном для этой цели в 86-DOS . Когда Патерсон начал работать в Microsoft в начале 1980-х, он взял с собой программу. DEBUG был частью DOS 1.00 и был включен в MS-DOS / PC DOS и некоторые версии Microsoft Windows . Первоначальное название DEBUG.COM
, исполняемый файл был переименован в DEBUG.EXE
с MS-DOS 3.2. [2]
Windows XP и более поздние версии включены DEBUG
для подсистемы MS-DOS для обеспечения совместимости с MS-DOS. 16-битные команды DOS недоступны в 64-битных версиях Windows. [3]
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 бывшего отладчика символьных инструкций . [4] который поставлялся с предыдущими версиями DR DOS . [5] [6] [7] Он полностью совместим с синтаксисом командной строки DEBUG MS-DOS/PC DOS, но предлагает множество улучшений, включая поддержку 16-битных и 32-битных кодов операций вплоть до Pentium , расширенный режим (/X) с десятками дополнительных команд. и подрежимы, значительно расширенный синтаксис командной строки с определяемыми пользователем макросами и средствами символьной отладки с именованными регистрами, загруженными таблицами символов , математическими операциями и базовыми преобразованиями , а также комментирующим дизассемблером . [8] [7] также использовалась В некоторых версиях DPMS в качестве отладчика защищенного режима в «скрытом режиме». [9]
Версия DEBUG для FreeDOS была разработана Полом Войтой и распространяется по лицензии MIT License . [10]
32-битная версия клона «DEBUGX», поддерживающая 32-битные программы DPMI . Также существует [11] Андреас «Джафет» Греч, автор расширения HX DOS , разработал расширенные версии DEBUG с 0.98 по 1.25, а бывший разработчик PC DOS Вернон К. Брукс добавил версии с 1.26 по 1.32. [12]
Синтаксис
[ редактировать ]DEBUG [[drive:][path] filename [parameters]]
Когда DEBUG запускается без каких-либо параметров, появляется приглашение DEBUG со знаком «-». Затем пользователь может ввести одну из нескольких одно- или двухбуквенных подкоманд, включая «A» для входа в режим ассемблера, «D» для выполнения шестнадцатеричного дампа , «T» для трассировки и «U» для деассемблирования (дизассемблирования) программы. в памяти. [13] DEBUG также можно использовать в качестве интерпретатора «сценария DEBUG», используя следующий синтаксис.
DEBUG < filename
Файл сценария может содержать подкоманды DEBUG и инструкции языка ассемблера. [14] Этот метод можно использовать для создания или редактирования двоичных файлов из пакетных файлов . [2]
Использование в целях, не связанных с отладкой
[ редактировать ]Утилита DEBUG полезна для редактирования бинарных файлов в среде, где установлен только DOS и ничего больше. Его также можно использовать для редактирования секторов диска, что является одним из методов удаления вирусов загрузочного сектора.
Доступность
[ редактировать ]Хотя техническая документация по команде DEBUG была удалена с выпуском MS-DOS 3.3, в стандартном дистрибутиве команда сохранилась, в отличие от того, что было сделано с EXE2BIN . [15]
Другие операционные системы
[ редактировать ]Операционные системы Intel ISIS-II [16] и iRMX 86 , [17] ДЕКАБРЬ ТОПС-10 [18] и ТОПС-20 , [19] ТЕОС/ОАЗИС , [20] Зилог Z80-РИО , [21] Стратус ОпенВОС , [22] ПК-МОС , [23] и АРОС [24] также предоставить DEBUG
команда.
См. также
[ редактировать ]- Список команд DOS
- DDT (команда CP/M) (метод динамической отладки)
- SID (отладчик символьных инструкций)
- СИМДЕБ
- Кодпредставление
- Турбо-отладчик
- СофтICE
- ОТЛАДКА (тег)
Ссылки
[ редактировать ]- ^ Согласно справочнику Microsoft Macro Assembler , встроенная сборка не поддерживается для x64.
- ^ Jump up to: Перейти обратно: а б Седори, Дэниел Б. «Руководство по отладке» . Проверено 29 ноября 2014 г.
- ^ Команды подсистемы MS-DOS
- ^ Руководство пользователя SID-86 для CP / M-86 (2-е изд.). Цифровые исследования . Август 1982 г. [март 1982 г.]. SID86UG.WS4. Архивировано из оригинала 20 октября 2019 г. Проверено 6 февраля 2020 г. [1] (Примечание. Перепечатанная версия руководства Эммануэля Роша с добавлением команд Q, SR и Z. Это руководство предназначено для версии CP/M-86 , но версия DR DOS аналогична.)
- ^ Родился Гюнтер [на немецком языке] (1993). Настройка DOS 6 (на немецком языке) (1-е изд.). Рынок и технологии . ISBN 3-87791-495-0 . (Примечание. Содержит несколько страниц в MS-DOS DEBUG.EXE, а также в отладчике символьных инструкций SID.EXE в DR DOS 5.0 / 6.0 .)
- ^ Пол, Матиас Р. (24 мая 1997 г.) [1991]. DRDOSTIP.TXT — Советы и подсказки для DR DOS 3.41–5.0 (на немецком языке) (47 изд.). Архивировано из оригинала 07.11.2016 . Проверено 7 ноября 2016 г.
{{cite book}}
:|work=
игнорируется ( помощь ) (Примечание. Содержит некоторую информацию об отладчике символьных инструкций (SID86.EXE в DR DOS 3.41 и SID.EXE в DR DOS 5.0/6.0), предшественнике DR-DOS DEBUG.EXE.) - ^ Jump up to: Перейти обратно: а б Пол, Матиас Р. (9 января 2002 г.). «СИД86» . Группа новостей : comp.os.cpm . Проверено 8 апреля 2018 г.
[…] Поскольку DEBUG DR-DOS 7.03 по-прежнему основан на старом SID86.EXE, я предлагаю запустить DEBUG 1.51 и войти в расширенную справочную систему с помощью ?? из приглашения отладки. Это даст вам восемь экранов с синтаксисом и справкой по функциям. Некоторые из этих функций также поддерживались более старыми выпусками. […]
- ^ Пол, Матиас Р. (30 июля 1997 г.). «Глава II.5. Общие сведения: Недокументированные возможности DEBUG» [Недокументированные возможности DEBUG]. NWDOS-TIPs — Советы и рекомендации по Novell DOS 7 с учетом недокументированных подробностей, ошибок и обходных путей . Выпуск 157 (на немецком языке) (3-е изд.). Архивировано из оригинала 10 сентября 2017 г. Проверено 6 сентября 2014 г.
{{cite book}}
:|work=
игнорируется ( помощь ) (Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включая описание многих недокументированных функций и внутренних устройств. Это часть еще более крупной коллекции автора MPDOSTIP.ZIP, поддерживаемой до 2001 года и распространяемой на многих сайтах в то время. Предоставленная ссылка указывает на более старую версию файла NWDOSTIP.TXT, преобразованную в HTML.) - ^ Пол, Матиас Р. (9 апреля 2001 г.). NWDOS-TIPs — Советы и рекомендации по Novell DOS 7 с учетом недокументированных подробностей, ошибок и обходных путей . Выпуск 183 (на немецком языке) (3-е изд.).
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ «Пакет обновлений FreeDOS 1.2 — отладка (база FreeDOS)» . Ибиблио.орг. 16 февраля 2021 г. Проверено 8 сентября 2022 г.
- ^ Войта, Пол. «README ДЛЯ ОТЛАДКИ» . Архивировано из оригинала 24 августа 2007 г. Проверено 25 июня 2007 г.
- ^ Брукс, Вернон К. (8 апреля 2014 г.). «Расширенная отладка для ПК DOS и MS-DOS» . ПК DOS Ретро . Архивировано из оригинала 21 февраля 2020 г. Проверено 8 мая 2014 г.
- ^ «Статья об отладке Microsoft TechNet» . Проверено 23 апреля 2008 г.
- ^ Ирвин, Кип Р. (2010). «Использование отладки». Язык ассемблера для компьютеров на базе процессоров Intel (PDF) (6-е изд.). Прентис Холл . ISBN 978-0-13602212-1 . Проверено 18 марта 2014 г.
- ^ Дрор, Асаэль (12 января 1988 г.). «Спасибо, IBM». Журнал ПК . п. 366.
- ^ Руководство пользователя ISIS II
- ^ iRMX 86 Введение и справочное руководство оператора для версии 6
- ^ Руководство по командам операционной системы TOPS-10 (PDF) . Корпорация цифрового оборудования. Август 1980 г. Архивировано из оригинала (PDF) 9 августа 2020 г. Проверено 17 февраля 2019 г.
- ^ «Руководство по управлению ТОПС-20» (PDF) . Архивировано из оригинала (PDF) 9 августа 2020 г. Проверено 18 июля 2018 г.
- ^ Руководство пользователя THEOS/OASIS
- ^ Руководство пользователя операционной системы Z80-RIO.
- ^ «Справочное руководство по командам OpenVOS» (PDF) .
- ^ Руководство пользователя PC-MOS
- ^ «Исследовательская операционная система AROS» .