CRASH(1M)

НАЗВАНИЕ
crash - изучение образа системы

СИНТАКСИС


  /etc/crash  [-d файл_с_дампом] [-n файл_с_таблицей_имен]

  [-w выходной_файл]

ОПИСАНИЕ
Утилита crash служит для изучения образа памяти работающей или аварийно завершившейся ОС. Утилита выполняет форматную печать управляющих структур, таблиц и другой информации. Аргументами командной строки являются:

-d файл_с_дампом
Имя файла с образом памяти системы (по умолчанию /dev/mem). Файл_с_дампом может быть получен следующим образом. В случае аварийного завершения ОС указывается размер в блоках дампа, выводимого на устройство подкачки. Затем выполняется перезагрузка системы с другим устройством подкачки и дамп сохраняется в файле командой dd(1). Максимально допустимый размер файла нужно установить не меньшим, чем размер дампа [см. ulimit(1)].
-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        Образ памяти работающей системы.

СМ. ТАКЖЕ
crash(8).