CodeView - CodeView

CodeView
Оригинальный автор (ы)Дэвид Норрис
Разработчики)Microsoft
изначальный выпуск1985; 35 лет назад (1985)
Операционная системаMS-DOS
Платформаx86
ТипОтладчик

CodeView автономный отладчик сделано Дэвид Норрис в Microsoft в 1985 году как часть набора инструментов для разработки.[1] Первоначально он поставлялся с Microsoft C 4.0 и более поздними версиями. Он также поставляется с Visual Basic за MS-DOS, Microsoft BASIC PDS, а также ряд других языковых продуктов Microsoft.[2] Это был один из первых отладчиков на ДОС платформа, ориентированная на полноэкранный режим, а не на линейную (как предшественники Microsoft ОТЛАЖИВАТЬ и SYMDEB или же Цифровые исследования с SID ).

Обзор

При запуске CodeView предоставляет пользователю несколько окна которые можно размещать, перемещать, изменять размер и иным образом управлять с помощью клавиатуры или мыши, а CodeView 4.x обеспечивает более богатый интерфейс. Некоторые из окон включают:

  • Окно кода - окно кода показывало текущий отлаживаемый код в его исходный код контекст.
  • Окно данных - a шестнадцатеричный дамп области памяти, указанной пользователем.
  • Окно просмотра - контекстное отображение переменных по имени.
  • Окно локальных переменных - контекстное отображение переменных, локальных для текущей функции.
  • Окно команд - здесь можно вводить пользовательские команды (с использованием того же или аналогичного синтаксиса, что и DEBUG и SYMDEB).
  • Окно сборки - отображалась сборка (машинный код), позволяющая выполнять пошаговое выполнение функций.
  • Окно регистрации - для визуализации 80x86 содержимое регистра, включая сегменты, флаги и FPU (CodeView существовал раньше MMX и другие SIMD расширения).
  • Окно вывода - окно, показывающее операции запуска и отладочную информацию, относящуюся к точкам останова,[2] аппаратные поломки (прерывания 0 и 3) и т. д.

Функции

  • Режим 386 - процессоры 8086, 80286 и 80386 и выше. 386 расширенный режим активируется опцией меню, позволяющей использовать 32-битные регистры и дизассемблировать.
  • Поддержка монохромного монитора - позволяет выполнять отладку либо на одноцветном мониторе (CGA, EGA или VGA) с переключением страниц / памяти между пользовательским приложением и экраном CodeView, либо с использованием отдельного монохромного монитора. Монохромный монитор существует в адресном пространстве памяти 0xb0000, тогда как цветной монитор существует по адресу 0xb8000 для текста и 0xa0000 для графики. Использование монохромного монитора с отдельным адресным пространством памяти позволяет отлаживать графические приложения, не влияя на отображение, а также на все текстовые режимы. Монохромные мониторы ограничены 25 строками, тогда как цветные мониторы допускают режим 25, 43 или 50 строк, что позволяет отображать на экране больше информации одновременно.

Создание символьного вывода отладки, который позволяет просматривать ячейки памяти по их имени, назначенному программистом, вместе с базой данных программы, показывающей строку исходного кода, относящуюся к каждой компьютерной инструкции в двоичном исполняемом файле, активируется переключателем командной строки -Zi, заданным для компилятор и -CO передается компоновщику. Такие варианты, как -Zs и -Zd, предоставляют меньший объем информации и меньшие выходные файлы, которые в начале 1990-х годов были важны из-за ограниченных ресурсов компьютера, таких как память и емкость жесткого диска. Многие системы в то время имели 8 МБ памяти или меньше.

CodeView обрабатывает все модели программ, включая TINY, SMALL, COMPACT, MEDIUM, LARGE и HUGE, с TINY (файлы .COM на основе DOS), имеющими символьную информацию отладчика, хранящуюся в отдельном файле, со всеми другими форматами .EXE, содержащими файлы. символическая информация прямо внутри исполняемого файла. Это часто приводило к значительному увеличению размера, и поэтому для некоторых разработчиков стало желательно использовать переключатели #pragma в исходном коде C (и позже C ++), чтобы предотвратить символьный вывод большей части приложения, и вместо этого ограничить этот вывод только те части, которые требовались для текущей отладки.

CodeView версий 3.x и 4.x представил различные транспортные уровни, которые сняли некоторые ограничения пространства памяти для этой формы символьной отладки. Обычно отладчик запускается в нижнем пространстве памяти 640 КБ вместе с отлаживаемым приложением, что значительно уменьшает объем памяти, доступной для отлаживаемого приложения. Транспортный уровень позволяет существовать только заглушкам в основной памяти, в то время как основная часть кода отладчика находится в EMS или XMS (память выше барьера 1 МБ или вне обычного адресного пространства 0–640 КБ, обычно используемого программами DOS. ). CodeView также поставляется с утилитой командной строки CVPACK, которая может уменьшить размер внутренней информации, генерируемой CodeView, сохраняя при этом полный символический доступ к данным.

Поддержка Visual C ++

Microsoft выпустила Visual C ++ 1.0 с функциональностью CodeView, интегрированной непосредственно в единую среду программирования, известную как Интегрированная среда развития (IDE) - хотя CodeView все еще был доступен в 16-разрядных версиях Visual C ++. QuickC и ряд других инструментов разработки из серии Quick также поддержали этот переход к интегрированной среде разработки с одним исходным кодом, которая стала предшественником современной среды разработчика Visual Studio, а также моделью для бесчисленных других наборов инструментов разработчика.

Эта интеграция рассматривалась многими разработчиками как более естественный способ разработки программного обеспечения, поскольку и кодирование, и отладка могли выполняться без переключения программ или контекста и все из одного и того же логического местоположения (хотя внутри много отдельных программ выполнялось для поддержки редактирования, компиляции и отладка). В результате большинство инструментов и / или платформ разработки предлагают аналогичные продукты или функции.

Сегодня отладчик считается неотъемлемой частью Microsoft Visual Studio семейство продуктов, и своими истинными корнями обязано CodeView и, в частности, усовершенствованиям версии 4.x.

Симдеб

Еще одним продуктом для отладки, доступным от Microsoft в середине 1980-х, был SYMDEB.[3]

В нем было более 30 команд, и он был описан Журнал ПК как шаг вперед от DEBUG.[4] Codeview, в свою очередь, был описан как «полноэкранный SYMDEB».[5][6]

Смотрите также

Рекомендации

  1. ^ «CodeView 3.x». WinWorld.
  2. ^ а б Microsoft Macro Assembler 5.1 - Microsoft CodeView и служебные программы. Корпорация Майкрософт. 1987. с. 157. Документ № 4108-40010-500-R03-1287.
  3. ^ Пар, Джефф (2018-02-25). «Краткая история SYMDEB». Машины PCjs. Получено 2019-05-19.
  4. ^ "SYMDEB: шаг вперед от отладки". Компьютерный мир. 1986-10-14. п. 296.
  5. ^ «СИМДЕБ». Журнал ПК. Vol. 5 шт. 17. Ziff Davis, Inc. 1986-09-30. п. 38. ISSN  0888-8507.
  6. ^ «Добавлена ​​документация по MS C 4.0». OS2museum.com.

дальнейшее чтение