CRASH(1M) 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).