Главная » Просмотр файлов » GCC - The Complete Reference

GCC - The Complete Reference (537669), страница 55

Файл №537669 GCC - The Complete Reference (GCC - The Complete Reference) 55 страницаGCC - The Complete Reference (537669) страница 552015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 55)

Файл с именем 1(1-11ппх. во является вспомогательной программой ()те(рег ргоягап)) 1б во, которая выполняет основную работу по загрузке разделяемых библиотек и выполнению их функций. Довольно удобно использовать 1бб для точного определения версии разделяемой библиотеки, используемой программой во врел(я выполнения. Другая важная причина применения утилиты 1(Ы вЂ” определение любых неразрешимых ссылок на разделяемые библиотеки.

Например, если программа всмоЬе11ов из четвертой главы была скомпилирована правильно, но разделяемая библиотека, с которой компилировалась программа, не была должным образом установлена в системе, то вывод утилиты 1(Ы будет выглядеть следующим образом: б 1оо веиоЬе11ов вЬе11о.во => тюс ксива 11Ъс.во.б => /11Ы11Ьс.во.б (Ох40027000) 11Ьдсс в.во.1 => /пвк/11Ы11Ьдсс в.во.1 (Ох401бб000) /11Ы10-11ппх.во.2 => /11Ь/1к(-11ппх.во.2 (Ох40000000) Вывод внутренней информации объектного файла Для вывода из объектных файлов, статических и разделяемых библиотек содержащейся в них внутренней информации может использоваться программа оЬ1(Ьпар. Эта утилита находит в файлах разного рода дополнительную информацию и представляет ее в читаемом виде.

Она может использоваться для сбора информации из файлов различного объектного формата. Для получения перечня доступных форматов объектного кода, распознаваемых утилитой оЬз бр)вр, нужно ввести следующую команду: б оЬЗПсвр -1 При запуске утилиты оЬз би(ар для выделения информации из файлов строка команды должна содержать опции, которые определяют способ и порядок извлечения информации. Они перечислены в таблице 12.6. В таблице ) 2.7 представлены до- 243 Часть ПК Внутренняя структура и окружение Е оъбдпвр -Е -Ь -ЕВ Ье11оиог1д.о Таблица 12.6.

Ко откие и длинные ормы основных опций утилиты оЬ'боптр Короткая Длвннва Вмвадвмвв ввфвриеявя Поля заголовка архива. Представление исполняемого кода на языка ассемблера, Ассемблерное представление исполняемого кода и данных. Все содержимое заголовка объектного файла. Отладочная информация. Любая информация формата ВТАВЯ в необработанном виде.

Содержимое заголовков разделов. Список опций утилиты оЬздпвр. Список поддерживаемых форматов объектного када и машинных архитектур. Специфическое содержимое полей заголовка файла особого объектного формата. Информация о перемещаемом коде. Информация о динамически перемещаемом коде. Ассемблерное представление исполняемого объектного кода, смешанное с исходным кодом на языке высокого уровня. Ассемблерное представление всего объектного кода, смешанное с исходным кодом на языке высокого уровня.

Содержимое таблицы программных символов. Содержимое таблицы динамически перемещаемых символов. --ассьь ге-Ьеадеса --д1ааевевЬ1е --д1ааееавые-а11 --111е-Ьеадехе — деЬидд1пе --екаЬЕ --весс1оп-Ьеадесе --Ье1р --1пео -р -л --рс1часе-Ьеадесв --хе1ос --дупав1с-се1ос --еопксе — Еп11-сопкепье - -е1лав — дупавдс-еуве --чекв1оп --а11-Ьеадеке Версия утилиты оъчдпвр. Содержимое заголовков всех файлов.

-ч Таблица 12,7. Модифицирующие опции утилиты оЬ)оигпр Оленя --адзпас-тва=оеевес Добавляет заданное смещение оееаес к значениям всех выводимых адресов раздела. --ассььсесспха=хвсьепе Задает формат объектного кода входного файла. Для определения доступных вариантов машинной архитектуры следует выполнить команду: оЬЗд р -1 То же, что и опция --сасяес. -Ь ЬЕдпаве полнительные опции, которые могут использоваться для модификации обработки входных данных нли для форматирования вывода.

Например, у нас есть файл Ье11омог16. о, в котором содержится объектный код для машины с обратным порядком представления байт (формат "Ьйй епйап"). Для вывода информационного заголовка этого файла (Яе )теаг)ег) и заголовков всех разделов объектного кода (зесбоп Ьеабегз) следует ввести следующую команду: Оииаиияе То же, что и --йевалд1е. Имена символов в объектном коде воспринимаются как сокращенные (гланд(еб) имена исходного кода.

Тип сокращения указывает значение поля суре. Допустимыми могут быть следующие значения: аппо, дпи, 1лс1й, ахв, Ьр, ейд, длл-тз, 5ата, длас и саврас. Список одной или нескольких опций е поле ср передается программе, которая выполняет обратное преобразование объектного кода в ассемблерные инструкции (дизассемблеру). Указывает не пропускать блоки нулевых байтов при обратном преобразовании объектного кода в ассемблерные инструкции (дизассемблировании).

То же, что и опция --епй1вп Ь1д. То же, что и --епйзап 11сс1е. -с суре --йепвпд1е Суре — йзваввавйг1ек-срь1олв=ар -й1ваввевЬ1е-хехсев -вв -вь Указывает прямой или обратный порядок байт машинного формата представления данных во входном объектном коде. Поле вьзсь может иметь значение 11сь1е или ь1д. Слово 11сс1е соответствует прямому порядку байт (бйбе епд)ап), а слово Ь1д — обратному порядку байт (Ыд епд)ап). При использовании опции -з, зтот модификатор будет включать в вывод контекстную информацию (соп(ех() из начальной области файла.

— епй1ап влзсп -Ше-впахз-сслпехк То же, что и опция --весс1сп. То же, что и --11ле-пшвЬекв. Включает в вывод имена файлов и номера строк. То же, что и --й1ваввевЬ1ех-срс1олв. То же, что и --ахсь1сесклхе. -1 люхе — 11пе-плвЬехв -а васлхпе --рке11м-аййкевв Выводит полную адресную информацию, связанную с каждой дизассемблированной инструкцией. Выводит внутреннюю информацию только из разделов объектного кода с именами, указанными а поле паве.

-весс1оп=паве Выводит шестнадцатиричные коды машинных операций вместе с мнемоническими инструкциями ассемблера. -вьсн-каи-1пвп Обрабатывает данные, расположенные после указанного в пале аййхевв адреса. -всахв-аййхевв аййхевв Обрабатывает данные, расположенные до указанного в поле аййкевв адреса. Задает формат кода входного объектного файла. Для определения доступных форматов следует выполнить команду: -вкср-аййхевв=аййхевв -Какдеь ЬЕйпаве оЬздшвр ТО жЕ, ЧтО И ОПцИя --и1йс. Снимает ограничение ширины страницы выходного листинга.

По умолчанию применяется ширина е 80 столбцов. То же, что и опция --й1ваввевЬ1е-зехоев. -н1йе Глава 12. Использование библиотек и способы компоновки 249 ава Иепвпьзвввппв виппвпчпкв ИИИ у тилита дбЬ является основным отладчиком (деЬцййег) проекта О)~) С. Этот отладчик запускается из командной строки, он может использоваться для полного управления выполнением любого процесса и для исследования его работы. На команды утилиты дг)Ь будут реагировать все программы.

Но только те из них, которые компилировались и компоновались с опциями включения информации, касающейся исходного кода, могут предоставить необходимые данные для трассировки процесса выполнения. Самый простой способ запуска интерактивного сеанса отладки — при запуске утилиты дбЬ указать имя программы в командной строке. Тот же результат дает запуск отладчика с последующей загрузкой программы. Кроме того, отладчику можно указать подключиться к запушенной программе, что позволяет проанализировать ход выполнения программы, которая начинает странно себя вести после некоторого времени работы. Третье назначение утилиты дбЬ заключается в "посмертном" (роз1гпогГа)) анализе аварийно завершившейся программы для определения причин ее аварийного завершения. Форматы отладочной информации Для отладки программы необходимо, чтобы в объектный файл была включена информация о программе.

С помощью такой информации отладчик имеет возможность сопоставить двоичный код его исходному тексту и прелоставить в читаемом виде данные, на основе которых можно точно определить выполняемые программой действия. Без этой включаемой информации все, что известно отладчику о программе,— это только абсолютные двоичные адреса и машинные коды выполняемых операций. Эти данные очень сложно сопоставить с исходным кодом программы.

Глава 1З. Использование отладчика ам(1 25 1 Существует несколько форматов для хранения информации в объектных файлах. Для выполнения своих задач отладчикдолжен корректно воспринимать формат отладочной информации. К счастью, отладчик даь распознает целый ряд существующих форматов и дополнительно понимает некоторые особые расширения отладочной информации, помещаемые в код компилятором дсс. Формат 5ТАВ5 Формат отладочной информации ЗУАВА (БутЬо1 ТАВ(е сйгес(1теб) был первоначально разработан для использования в качестве отладчика языка программирования Рааса(.

Он оказался довольно удобным и получил широкое распространение. Компилятор дсс добавляет отладочную информацию в формате БТАВБ (таблицы перекодировки символов) в генерируемый им ассемблерный код, и в дальнейшем зта информация включается в создаваемый ассемблером объектный код. Ассемблер добавляет информацию БТАВБ в таблицу перекодировки символов и таблицу строк, которые включаются в конец каждого файла с расширением .о.

Компоновщик объединяет объектные файлы в выполнимый файл, собирая все таблицы в единую таблицу перекодировки символов, которая в дальнейшем используется отладчиком для идентификации разделов выполнимого кода. Три директивы ассемблера, используемые для создания таблиц перекодировки символов, имеют следующий вид: .веаьв "пате:вутсесв=еуре1пго",суре,оеьег,севсг1ре1оп,тга1ие .всаЬп суре,освег,севсг1рс1оп,уа1ие .всаЬс суре,оспег,ктевсгхрс1оп Каждая из приведенных директив содержит поле суре, которое предоставляет баювую информацию (например, является ли директива новым определением или ссылкой на существующее определение). Поле суре, кроме того, определяет содер- жИМОЕ ПОЛЕЙ ОЕЬЕГ И С(ЕВСГдрЕХОП.

Характеристики

Тип файла
DJVU-файл
Размер
6,08 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6312
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее