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).