CRASH(1M)
CRASH(1M)
НАЗВАНИЕ
crash - изучение образа системы
СИНТАКСИС
/etc/crash [-d файл_с_дампом] [-n файл_с_таблицей_имен] [-w выходной_файл]
ОПИСАНИЕ
Утилита crash служит для изучения образа памяти работающей или аварийно завершившейся ОС. Утилита выполняет форматную печать управляющих структур, таблиц и другой информации. Аргументами командной строки являются:
-d файл_с_дампом Имя файла с образом памяти системы (по умолчанию /dev/mem). Файл_с_дампом может быть получен следующим образом. В случае аварийного завершения ОС указывается размер в блоках дампа, выводимого на устройство подкачки. Затем выполняется перезагрузка системы с другим устройством подкачки и дамп сохраняется в файле командой . Максимально допустимый размер файла нужно установить не меньшим, чем размер дампа [см. ]. -n файл_с_таблицей_имен Выполняемый файл, содержащий таблицу имен, необходимую для удобного доступа к изучаемому образу памяти (подразумеваемый файл - /unix). Если анализируется образ памяти с другой машины, следует скопировать оттуда соответствующий выполняемый файл. -w выходной_файл Файл, в который выводится информация во время диалога с утилитой crash (по умолчанию - на стандартный вывод).
Команды, которые выполняются во время диалога с утилитой crash, имеют вид
функция [аргумент ...]
где функция - одна из функций crash, описанных ниже, а аргументы указывают, какие именно системные данные следует вывести.
По умолчанию данные о процессе относятся к текущему процессу в текущем сеансе работы ОС или к процессу, выполнявшемуся в момент аварийного завершения ОС. При выводе таблиц по умолчанию выдаются все активные элементы.
Для функций могут быть указаны следующие опции (в тех случаях, когда они допустимы по смыслу):
-e | Вывести все элементы таблицы. |
-f | Вывести всю структуру. |
-p | Интерпретировать все аргументы-адреса как физические. |
-s процесс | Указать отображаемый процесс. |
-w файл | Направить вывод функции в файл. |
Следует отметить, что при указании опции -p все адреса и символьные аргументы для вызванной функции будут считаться физическими адресами. Если они не являются таковыми, результаты будут неверны.
Функции mode, defproc и redirect соответствуют опциям -p, -s и -w. Функция mode устанавливает режим трансляции адресов (как физических или, как виртуальных), defproc устанавливает новый отображаемый процесс, а redirect переназначает вывод для всех последующих функций.
Вывод crash-функций можно направить через канал в другую программу:
функция [аргумент ...] ! команда_shell'а
Например после выполнения строки
mount ! grep rw
все элементы таблицы смонтированных устройств, содержащие флаги чтения и записи, будут выданы на стандартный вывод. Опцию переназначения вывода, -w, в этом случае использовать нельзя.
В зависимости от контекста числовые аргументы функций берутся по соответствующему основанию. Количество понимается как десятичное, адрес всегда шестнадцатеричный. Аргумент, задающий элемент таблицы, трактуется как шестнадцатеричный адрес, если он превосходит размер таблицы; в противном случае он понимается как десятичный номер элемента. Основание системы счисления можно указывать и явно - для аргументов-чисел действуют соглашения языка С: число с префиксом 0x понимается как шестнадцатеричное; число, начинающееся с 0, считается восьмеричным. Десятичные числа (там, где ожидается другое основание) задаются префиксом 0d, двоичные - 0b.
Имена функций можно сокращать, оставляя начало имени (однозначно идентифицирующее функцию). Для ряда функций введены однобуквенные синонимы, например p для proc.
Многие функции допускают различные формы ввода аргументов. Так, информацию из таблицы можно получить, задав номер элемента, физический адрес, виртуальный адрес, символическое имя, диапазон или выражение. Диапазон номеров задается в виде a-b, где a и b - десятичные числа. Выражение состоит из двух операндов и знака операции. Операндом может быть адрес, символическое имя или число; знаком операции +, -, *, /, & и |. Операнд-число должен начинаться с префикса основания (если число не десятичное). Выражения заключаются в круглые скобки. Некоторые функции допускают любую из указанных форм аргументов.
Ниже используются два сокращения для аргументов функций crash:
Элемент_таблицы Это или номер элемента, или адрес, или символическое имя, или диапазон, или выражение. начальный_адрес Это или адрес, или символическое имя, или выражение.
Перечень функций утилиты crash:
? [-w файл] Список доступных функций. ! команда Вызов shell'а для выполнения команды. adt [-e] [-w файл] [-k] [-s процесс] [-u] [-p] начальный_адрес [количество] Вывод таблицы A-дескрипторов устройства управления памятью. Опция -k задает таблицу ядра, опция -u таблицу пользователя для активного процесса или для процесса, заданного опцией -s. adv [-e] [-w файл] [[-p] элемент_таблицы ...]] Вывод таблицы ресурсов, об явленных доступными для удаленных ЭВМ. base [-w файл] число ... Вывод числа в двоичной, восьмеричной, десятичной и шестнадцатеричной форме. Для недесятичных чисел надо указывать префикс: 0x для шестнадцатеричных, 0 для восьмеричных, 0b для двоичных. bdt [-e] [-w файл] [-k] [-s процесс] [-u] [[цифра] [[-p] начальный_адрес [количество]]] Вывод таблицы B-дескрипторов устройства управления памятью с использованием либо информации из таблицы A-дескрипторов (задается цифрой), либо заданного адреса. Опция -k задает таблицу ядра, опция -u - таблицу пользователя для активного процесса или для процесса, заданного опцией -s. buffer [-w файл] [-формат] [индекс_буфера] [[-p] начальный_адрес] Синоним: b.
Вывод содержимого буфера в заданном формате. Допустимы следующие обозначения форматов: -b, байтный; -c, символьный; -d, десятичный; -x, шестнадцатеричный, -o, восьмеричный; -r, формат каталога; -i, формат описателя файла. Если формат не задан, действует предшествующий формат (в начале сеанса действует формат -x). bufhdr [-f] [-w файл] [[-p] элемент_таблицы ...] Синоним: buf.
Вывод заголовков системных буферов. callout [-w файл] Синоним: c.
Вывод таблицы трассировки вызовов. dballoc [-w файл] [класс ...] Вывод таблицы потоковых блоков данных. Если указан класс, выводится информация для указанного класса. dbfree [-w файл] [класс ...] Вывод заголовков свободных потоковых блоков данных. Если указан класс, выводится информация для указанного класса. dblock [-e] [-w файл] [-c класс ...] [[-p] элемент_таблицы ...] Вывод заголовков занятых потоковых блоков данных. Если указан класс, выводится информация для указанного класса. defproc [-w файл] [-c] [номер] Установка номера отображаемого элемента таблицы процессов. Номер может быть задан явно, или унаследован у текущего процесса (опция -c). Если аргументы не заданы, выводится ранее установленный номер. В начале сеанса устанавливается номер, соответствующий текущему процессу. ds [-w файл] виртуальный_адрес Вывод символического имени с адресом, ближайшим к заданному и не превосходящим его. file [-e] [-w файл] [[-p] элемент_таблицы ...] Синоним: f.
Вывод таблицы файлов. findaddr [- w файл] таблица элемент Вывод адреса, соответствующего элементу указанной таблицы. Таблица должна быть пригодной для обработки функцией size. findslot [-w файл] виртуальный_адрес ... Вывод таблицы, номера элемента и смещения, соответствующих виртуальному_адресу. Таблица должна быть пригодной для обработки функцией size. fs [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы с информацией о файловых системах. gdp [-e] [-f] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы описателей доступных удаленных ресурсов. help [-w файл] функция ... Вывод описания указанных функций. inode [-e] [-f] [-w файл] [[-p] элемент_таблицы ...] Синоним: i.
Вывод таблицы описателей файлов. lck [-e] [-w файл] [[-p] элемент_таблицы ...] Синоним: l.
Вывод информации о блокировках файлов. Если заданы опция -е или аргумент элемент_таблицы, выводится список блокировок записей; в противном случае выводится информация о блокировках, соответствующих описателям файлов. linkblk [-e] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы ссылок между потоковыми очередями. map [-w файл] имя_отображения ... Вывод отображения с указанным именем. mbfree [-w файл] Вывод заголовков свободных блоков сообщений в потоках. mblock [-e] [-w файл] [[-p] элемент_таблицы ... ] Вывод заголовков занятых блоков сообщений в потоках. mmu [-w файл] Вывод корневых указателей устройства управления памятью на таблицы A-дескрипторов супервизора и пользователей. mode [-w файл] [режим] Установить режим трансляции аргументов-адресов: (v - виртуальные адреса, p - физические). Если режим не задан, выводится текущий режим. В начале сеанса crash установлен режим виртуальных адресов. mon [-w файл] Вывод буфера монитора ядра. Для активной системы выполнять команду mon не имеет смысла. mount [-e] [-w файл] [[-p] элемент_таблицы ...] Синоним: m.
Вывод таблицы смонтированных файловых систем. nm [-w файл] имя Вывод значения и типа имени. od [-p] [-w файл] [-формат] [-режим] [-s процесс] начальный_адрес [количество] Синоним: rd.
Вывод указанного количества значений, начиная с начального_адреса, в одном из следующих форматов: символьном (-c), десятичном (-d), восьмеричном (-o), шестнадцатеричном (-x), текстовом (-a) или шестнадцатерично-символьном (-h), и в одном из следующих режимов: словном (-l), полусловном (-s) или байтном (-b). По умолчанию для символьного и текстового форматов используется байтный режим, а для десятичного, шестнадцатеричного и восьмеричного форматов - словный. Формат -h выводит как шестнадцатеричное, так и символьное представления; режим можно не указывать. Если формат или режим опущены, используются предыдущие значения. В начале сеанса crash действуют шестнадцатеричный формат и словный режим. Если количество опущено, оно принимается равным 1. pbuf [-w файл] Вывод системного буфера печати. pcb [-w файл] [-s процесс] Вывод r-, q- и s-областей структуры пользователя, содержащих сохраненные регистры процессора. pdt [-e] [-w файл] [-k] [-s процесс] [-u] [[цифра число] [[-p] начальный_адрес [количество]]] Вывод таблицы дескрипторов страниц устройства управления памятью с использованием либо элементов таблиц A-дескрипторов (цифра) и B-дескрипторов (число), либо заданного начального_адреса. По опции -k выдается таблица ядра, по опции -u - пользовательская таблица для активного процесса, по опции -s - пользовательская таблица для заданного процесса. pfdat [-e] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы состояния системных буферов. proc [-f] [-w файл] [[-r] [[-p] элемент_таблицы ... #идентификатор_процесса ...]] Синоним: p.
Вывод таблицы процессов. Отображаемую информацию можно задать двумя способами: либо вводя любую смесь элементов_таблицы и идентификаторов_процессов (после #), либо задавая -r для отображения информации обо всех процессах, готовых к выполнению. qrun [-w файл] Вывод списка диспетчеризуемых очередей потоков. queue [-e] [-w файл] [[-p] элемент_таблицы ... ] Вывод очередей потоков. quit Синоним: q.
Завершение сеанса crash. rcvd [-e] [-f] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы дескрипторов получений. redirect [-w файл] [-c] [файл] Переназначение вывода для последующего диалога с утилитой crash в указанный последним файл. Если аргумент не задан, выводится имя текущего файла вывода. Если задана опция -c, текущий файл вывода закрывается и информация выдается на стандартный вывод. region [-e] [-f] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы областей. search [-p] [-w файл] [-m маска] [-s процесс] образец начальный_адрес количество Вывод указанного количества слов памяти с начального_адреса, таких, что кон юнкция маски и слова равна образцу. По умолчанию маска равна 0xffffffff. size [-w файл] [-x] [имя_структуры ...] Вывод размера указанной структуры. Опция -x задает шестнадцатеричный формат вывода. При отсутствии аргумента выводится список структур с известными размерами. sndd [-e] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы дескрипторов отправлений. srmount [-e] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы смонтированных удаленных файловых систем. stat [-w файл] Вывод системной статистики. stream [-e] [-f] [-w файл] [[-p] элемент_таблицы ...] Вывод таблицы потоков. strstat [-w файл] Вывод статистики потоков. ts [-w файл] виртуальный_адрес ... Вывод символического имени с адресом, ближайшим к заданному и не превосходящим его. tty [-e] [-f] [-w файл] -t тип Вывод таблицы терминалов. Опция -t обязательна. Среди возможных значений типа - sio, isio и т.д. user [-f] [-w файл] [процесс] Синоним: u.
Вывод пользовательского блока заданного процесса. var [-w файл] Синоним: v.
Вывод значений настраиваемых параметров системы. vtop [-w файл] [-k] [-s процесс] [-u] начальный_адрес ... Вывод физического адреса, соответствующего виртуальному начальному_адресу.
ФАЙЛЫ
/dev/mem Образ памяти работающей системы.
СМ. ТАКЖЕ
.