[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Программирование: Разработка и отладка программ


Программа отладки adb - Введение

В этом разделе обсуждаются запуск программы adb с указанием различных файлов, работа с приглашением adb, вызов команд оболочки из программы adb и завершение работы adb.

Рассматриваются следующие вопросы:

Запуск adb с программой

Для отладки любого исполняемого файла на языке C или Ассемблер введите следующую команду:

adb файл

где файл - имя исполняемого файла, предназначенного для отладки. Программа adb открывает этот файл и подготавливает его текст (инструкции) и данные к последующей отладке. Например:

adb sample

подготовит программу с именем sample для анализа и обработки.

После запуска программа отладки adb помещает курсор на новую строку и ожидает ввода команд.

Запуск adb с указанием несуществующего или неправильного файла

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

adb sample

, а файл sample не существует, то программа adb выдаст следующее сообщение:

sample: указанный файл или каталог не существует.

Запуск adb с файлом по умолчанию

Программу adb можно запускать без указания имени файла. В этом случае программа попытается найти в текущем каталоге файл с именем a.out и подготовить его к отладке. Иными словами, команда

adb

равносильна команде

adb a.out

Программа adb обрабатывает файл a.out и ожидает ввода команд. Если файл a.out не существует, программа adb запускается без обработки файла и не выдает сообщение об ошибке.

Запуск adb с указанием файла дампа

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

Для анализа файла дампа и соответствующей программы следует указать одновременно имя файла дампа и имя программы. Команда будет выглядеть следующим образом:

adb файл-программы файл-дампа

где файл-программы - это имя файла программы, вызвавшей ошибку, а файл-дампа - имя созданного системой файла дампа. После ввода команды программа adb будет отвечать на вводимые команды, используя информацию из обоих файлов.

Если вы не укажете имя файла дампа, программа adb попытается найти в текущем рабочем каталоге файл с именем core и открыть его. Если такой файл будет найден, программа adb определит, соответствует ли он файлу файл-программы. Если да, то он будет применен. В противном случае программа adb проигнорирует файл дампа и выдаст сообщение об ошибке.

Примечание: программа adb не предназначена для анализа 64-разрядных объектов и файлов дампа в формате AIX 4.3. Программу adb можно применять для анализа файлов дампа в формате предыдущих версий AIX. Однако с помощью smitty систему AIX версии 4.3 можно настроить таким образом, чтобы ядро создавало дампы в формате предыдущих версий.

Запуск adb с файлом данных

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

adb outdata

Программа adb откроет файл outdata и покажет его содержимое. Этот способ эффективен для просмотра файлов с двоичными данными. Если вместо программного файла вы укажете имя файла с двоичными данными, то команда adb может выдать сообщение-предупреждение. Это обычно происходит, если содержимое файла данных похоже на программный файл. Как и файлы дампа, файлы данных не являются исполняемыми.

Запуск adb с опцией записи

Если вы откроете файл с помощью команды adb -w, то сможете вносить в него изменения. Пример:

adb -w sample

открывает файл sample для записи. С помощью других команд adb вы сможете просматривать и редактировать этот файл. Кроме того, флаг -w означает, что если программа adb не найдет указанный файл, то она создаст его. Этот флаг также разрешает запись непосредственно в память после выполнения указанной программы.

Приглашение программы adb

После запуска программы adb вы можете переопределить приглашение с помощью команды $P.

Для замены приглашения [adb:scat]>> на строку Введите команду отладки---> необходимо ввести следующую команду:

$P"Введите команду отладки--->"

Если вы задаете новое приглашение в командной строке adb, кавычки указывать не обязательно.

Вызов команд оболочки из программы adb

Вы можете вызывать команды оболочки, не прерывая работу программы adb. Для этого служит команда внешнего вызова ! (восклицательный знак). Команда внешнего вызова задается в следующем виде:

! команда

Здесь Команда - это требуемая команда оболочки. Необходимо указать все обязательные для этой команды аргументы. Программа adb передает команду в системную оболочку на выполнение. После завершения команды оболочка возвращает управление программе adb. Например, если вы хотите посмотреть дату, введите следующую команду:

! date

Система покажет дату и вернет управление программе adb.

Завершение работы с программой adb

Для завершения работы программы adb введите команду $q или $Q. Эту же функцию выполняет комбинация клавиш Ctrl-D. Клавиши Interrupt и Quit не могут прервать работу программы adb. После нажатия этих клавиш программа adb будет ожидать ввода новой команды. Дополнительные сведения об этом приведены в разделе Остановка выполнения программ с помощью клавиш Interrupt и Quit.

Связанная информация

Глава 3, Отладка программ

Управление выполнением программы

Просмотр и редактирование исходного файла с помощью программы adb

Применение выражений в программе adb

Настройка программы отладки adb


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]