CodeView - это автономный отладчик, созданный Дэвидом Норрисом в Microsoft в 1985 году как часть его набора инструментов для разработки. [1] Первоначально он поставлялся с Microsoft C 4.0 и более поздними версиями. Он также поставляется с Visual Basic для MS-DOS , Microsoft BASIC PDS и рядом других языковых продуктов Microsoft. [2] Это был один из первых отладчиков на DOS платформе , которая была полноэкранное ориентированной, а не построчно-ориентированные (как предшественники Microsoft, DEBUG и SYMDEB или Digital Research «s SID ).
Автор (ы) оригинала | Дэвид Норрис |
---|---|
Разработчики) | Microsoft |
Первый выпуск | 1985 |
Операционная система | MS-DOS |
Платформа | x86 |
Тип | Отладчик |
Обзор
Во время работы CodeView представляет пользователю несколько окон, которые можно размещать, перемещать, изменять размер и иным образом манипулировать с помощью клавиатуры или мыши, а CodeView 4.x обеспечивает более богатый интерфейс. Некоторые из окон включают:
- Окно кода - окно кода показывало текущий отлаживаемый код в контексте исходного кода .
- Окно данных - шестнадцатеричный дамп указанной пользователем области памяти.
- Окно просмотра - контекстное отображение переменных по имени.
- Окно локальных переменных - контекстное отображение переменных, локальных для текущей функции.
- Окно команд - здесь можно вводить пользовательские команды (с использованием того же или аналогичного синтаксиса, что и 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 команд, и он был описан журналом PC Magazine как шаг вперед по сравнению с DEBUG. [4] Codeview, в свою очередь, описывался как «полноэкранный SYMDEB». [5] [6]
Смотрите также
Рекомендации
- ^ "CodeView 3.x" . WinWorld .
- ^ а б Microsoft Macro Assembler 5.1 - Microsoft CodeView и служебные программы . Корпорация Microsoft . 1987. с. 157. Документ № 4108-40010-500-R03-1287.
- ^ Пар, Джефф (25 февраля 2018 г.). «Краткая история SYMDEB» . Машины PCjs . Проверено 19 мая 2019 .
- ^ «SYMDEB: шаг вперед от отладки» . Мир ПК . 1986-10-14. п. 296.
- ^ «СИМДЕБ». Журнал ПК . Vol. 5 шт. 17. Ziff Davis, Inc., 30 сентября 1986 г. п. 38. ISSN 0888-8507 .
- ^ «Добавлена документация по MS C 4.0» . OS2museum.com .
дальнейшее чтение
- Петцольд, Чарльз (1990). Программирование Windows: Руководство Microsoft по написанию приложений для Windows 3 .
- Руководство пользователя отладчика CodeView . Корпорация Microsoft . 1993 г.