Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Исходная информация для символьной отладки
Этапы формирования символьного файла существенно зависят от того, каким транслятором обрабатывалась исходная программа. Дело в том, что некоторые компиляторы не обеспечивают информацию о номерах строк исходного файла, и для такой программы допустима лишь ограниченная символьная отладка (без адресации по номерам строк). Кроме того, при работе с макроассемблерами имеется целый ряд характерных для языков типа Ассемблера особенностей, вносящих в процесс отладки определенную специфику. Сущность этой специфики станет понятной при ознакомлении с командами SYMDEB. По указанным причинам при работе с SYMDEB и особенно при подготовке символьной отладки следует всегда учитывать, каким компилятором обрабатывалась исходная программа. SYMDEB совместим со следующими компиляторами: u MICROSOFT FORTRAN версии 3.0 и выше u MICROSOFT PASCAL версии 3.0 и выше u MICROSOFT C версии 2.0 и выше u MICROSOFT макроассемблер версии 1.0 и выше u MICROSOFT BASIC COMPILER версии 1.0 и выше u MICROSOFT BUSINESS BASIC COMPILER версии 1.0 и выше u IBM PC FORTRAN версии 2.0 и выше u IBM PC PASCAL версии 2.0 и выше u IBM PC макроассемблер версии 1.0 и выше u IBM PC BASIC COMPILER версии 1.0 и выше Из них лишь следующие компиляторы поддерживают работу SYMDEB на уровне номеров строк исходного файла: u MICROSOFT FORTRAN версии 3.0 и выше u MICROSOFT PASCAL версии 3.0 и выше u MICROSOFT C версии 2.0 и выше u IBM PC FORTRAN версии 2.0 и выше u IBM PC PASCAL версии 2.0 и выше
Конечной целью подготовки символьной отладки является создание символьного файла. В общем случае это осуществляется путем обработки исходной программы соответствующим компилятором и программой LINK и формирования на основе полученной информации собственно символьного файла при помощи программы MAPSYM. Для создания символьного файла при работе с макроассемблерами необходимо выполнить следующие шаги: 1. Символы, которые будут использованы SYMDEB, объявить как общие. Среди этих символов могут быть имена процедур, переменных и меток. Имена сегментов и групп не могут быть объявлены общими, но они автоматически включаются LINK в MAP-файл и могут быть использованы при отладке. Пользователь может объявить фиктивные метки, которые в программе не используются, но могут пригодиться при расстановке точек выхода. 2. Ассемблировать исходный файл макроассемблером. 3. Обработать полученный объектный файл программой LINK с опцией /MAP и получить EXE- и MAP-файлы. 4. Использовать MAPSYM для создания символьного файла. Для создания символьного файла при работе с другими совместимыми с SYMDEB компиляторами (кроме макроассемблеров) необходимо выполнить следующие шаги: 1. Компилировать исходный файл. При этом для упрощения отладки желательно не использовать имеющиеся в компиляторе средства оптимизации. При необходимости (и возможности) следует обеспечить наличие в объектном файле информации о номерах строк исходной программы. 2. Полученный объектный файл обработать программой LINK с опциями /MAP и, если нужно, /LINENUMBERS и получить EXE- и MAP-файлы. 3. Использовать MAPSYM для создания символьного файла. 4. Запустить SYMDEB для символьной отладки. 5. Использовать команду SYMDEB Go (G) для запуска тестируемой программы с первой процедуры или функции. Это обеспечивается специальной программой запуска из библиотеки программ данного языка. Обычно пользователю не нужна трассировка этой программы, и он желает начинать отладку с момента начала работы своей программы. В C-программе первая выполняемая функция всегда называется _main (компилятор C добавляет символ _ к имени процедуры main), в FORTRAN-программе — main, в PASCAL — первая процедура в исходном файле). Date: 2015-05-22; view: 474; Нарушение авторских прав |