~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ E2DF2053899DB41697A665395476F2DB__1715348760 ✰
Заголовок документа оригинал.:
✰ Core dump - Wikipedia ✰
Заголовок документа перевод.:
✰ Дамп ядра — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Core_dump ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/e2/db/e2df2053899db41697a665395476f2db.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/e2/db/e2df2053899db41697a665395476f2db__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 17:32:53 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 May 2024, at 16:46 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Дамп ядра — Википедия Jump to content

Дамп ядра

Из Википедии, бесплатной энциклопедии

В компьютинге дамп ядра , [а] дамп памяти , дамп сбоя , дамп хранилища , дамп системы или дамп ABEND [1] состоит из записанного состояния рабочей памяти компьютерной программы в определенное время, обычно когда программа вышла из строя или завершилась ненормально по иным причинам. [2] На практике другие ключевые фрагменты состояния программы обычно выгружаются одновременно, включая регистры процессора , которые могут включать программный счетчик и указатель стека , информацию управления памятью, а также другие флаги и информацию процессора и операционной системы. Дамп моментального снимка (или дамп моментального снимка ) — это дамп памяти, запрошенный оператором компьютера или запущенной программой, после которого программа может продолжить работу. Дампы ядра часто используются для помощи в диагностике и отладке ошибок в компьютерных программах.

Во многих операционных системах фатальное исключение в программе автоматически вызывает дамп ядра. В более широком смысле фраза «сбросить ядро» во многих случаях стала означать любую фатальную ошибку, независимо от того, существует ли запись в памяти программы. Термин «дамп ядра», «дамп памяти» или просто «дамп» также стал жаргоном, обозначающим любой вывод большого количества необработанных данных для дальнейшего изучения или других целей. [3] [4]

Предыстория [ править ]

Название происходит от памяти на магнитном сердечнике . [5] основная форма оперативной памяти с 1950-х по 1970-е годы. Это название сохранилось еще долгое время после того, как технология магнитных сердечников устарела.

Самые ранние дампы ядра представляли собой бумажные распечатки. [6] содержимого памяти, обычно расположенного в столбцах восьмеричных или шестнадцатеричных чисел (« шестнадцатеричный дамп »), иногда сопровождаемых их интерпретацией в виде инструкций машинного языка , текстовых строк или десятичных чисел или чисел с плавающей запятой ( см. дизассемблер ).

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

Вместо того, чтобы отображать только содержимое соответствующей памяти, современные операционные системы обычно генерируют файл, содержащий образ памяти, принадлежащей аварийному процессу, или образы памяти частей адресного пространства , связанных с этим процессом, а также другую информацию, такую ​​как в качестве значений регистров процессора, счетчика программ, системных флагов и другой информации, полезной для определения основной причины сбоя. Эти файлы можно просматривать как текст, распечатывать или анализировать с помощью специализированных инструментов, таких как elfdump в Unix и Unix-подобных системах, objdump и kdump в Linux , IPCS (интерактивная система контроля проблем) в IBM z/OS , [7] DVF (средство просмотра дампов) на IBM z/VM , [8] WinDbg в Microsoft Windows, Valgrind или других отладчиках.

В некоторых операционных системах [б] приложение или оператор могут запросить снимок выбранных блоков хранилища, а не всего хранилища, используемого приложением или операционной системой.

Использует [ править ]

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

На общих компьютерах, будь то системы с разделением времени, пакетной обработкой или серверные системы, дампы ядра позволяют проводить автономную отладку операционной системы , так что система может немедленно вернуться в работу.

Дампы ядра позволяют пользователю сохранить сбой для последующего или дистанционного анализа или сравнения с другими сбоями. Для встраиваемых компьютеров поддержка отладки на самом компьютере может быть нецелесообразной, поэтому анализ дампа может выполняться на другом компьютере. Некоторые операционные системы, такие как ранние версии Unix, не поддерживали подключение отладчиков к запущенным процессам, поэтому для запуска отладчика с содержимым памяти процесса были необходимы дампы ядра.

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

Snap-дампы иногда являются для приложений удобным способом записи быстрых и грязных результатов отладки.

Анализ [ править ]

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

Отладчик может использовать таблицу символов , если она существует, чтобы помочь программисту интерпретировать дампы, символически определяя переменные и отображая исходный код; если таблица символов недоступна, возможна меньшая интерпретация дампа, но ее все равно может быть достаточно, чтобы определить причину проблемы. Существуют также специальные инструменты, называемые анализаторами дампов, для анализа дампов. из GNU binutils Одним из популярных инструментов, доступных во многих операционных системах, является objdump .

В современных Unix-подобных GNU Binutils операционных системах администраторы и программисты могут читать файлы дампа ядра, используя библиотеку дескрипторов двоичных файлов (BFD), а также отладчик GNU (gdb) и objdump, которые используют эту библиотеку. Эта библиотека будет предоставлять необработанные данные для данного адреса в области памяти из дампа ядра; он ничего не знает о переменных или структурах данных в этой области памяти, поэтому приложению, использующему библиотеку для чтения дампа ядра, придется самому определять адреса переменных и расположение структур данных, например, с помощью таблицы символов для программы, находящейся в стадии отладки.

Аналитики аварийных дампов систем Linux могут использовать kdump или аварийный дамп ядра Linux (LKCD). [9]

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

Ядро также можно сбросить на удаленный хост по сети (что представляет угрозу безопасности). [10]

Пользователи мэйнфреймов IBM под управлением z/OS могут просматривать SVC и дампы транзакций с помощью интерактивной системы контроля проблем (IPCS), полноэкранного средства чтения дампов, которое изначально было представлено в OS/VS2 (MVS) , поддерживает написанные пользователем сценарии в REXX и поддерживает точечные операции. просмотр и съемка [с] свалок.

Файлы дампа ядра [ править ]

Формат [ править ]

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

Монитор IBSYS для IBM 7090 включал программу дампа памяти ядра системы. [11] который поддерживал постмотемные и моментальные дампы.

В IBM System/360 стандартные операционные системы записывали отформатированные дампы ABEND и SNAP с адресами, регистрами, содержимым хранилища и т. д., преобразованными в печатные формы. В более поздних версиях добавлена ​​возможность записи в неформатированном виде. [Это] дампы, называемые в то время дампами образа ядра (также известные как дампы SVC).

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

В Unix-подобных системах дампы ядра обычно используют стандартный исполняемого образа формат :

Именование [ править ]

OS/360 и его преемники [ править ]

  • В OS/360 и последующих версиях задание может назначать произвольные имена наборов данных (DSN) ddnames. SYSABEND и SYSUDUMP для форматированного дампа ABEND и произвольные имена dd для дампов SNAP или определите эти имена dd как SYSOUT. [ф]
  • В средство оценки и ремонта повреждений (DAR) добавлен автоматический неформатированный [час] дамп хранилища в набор данных SYS1.DUMP[я] в момент сбоя, а также дамп консоли, запрошенный оператором.
  • Новый дамп транзакций очень похож на старый дамп SVC.
  • Интерактивная система управления проблемами (IPCS), добавленная в OS/VS2 с помощью выбираемого блока (SU) 57. [13] [14] и часть каждого последующего выпуска MVS , может использоваться для интерактивного анализа дампов хранилища на DASD . IPCS понимает формат и взаимоотношения блоков управления системой и может создавать форматированное изображение для анализа. Текущие версии IPCS позволяют проверять активные адресные пространства. [15] [Дж] без предварительного создания дампа памяти.

Unix-подобный [ править ]

  • Начиная с Solaris 8, системная утилита coreadm позволяет настраивать имя и расположение основных файлов.
  • Дампы пользовательских процессов традиционно создаются как core. В Linux (начиная с версий 2.4.21 и 2.6 основной ветки ядра Linux ) другое имя можно указать через procfs с помощью команды /proc/sys/kernel/core_patternФайл конфигурации; указанное имя также может быть шаблоном, содержащим теги, замененные, например, именем исполняемого файла, идентификатором процесса или причиной дампа. [16]
  • Общесистемные дампы в современных Unix-подобных системах часто выглядят как vmcore или vmcore.incomplete.

Другие [ править ]

  • Такие системы, как Microsoft Windows , в которых используются расширения имен файлов , могут использовать расширение .dmp; например, дампы ядра могут называться memory.dmp или \Minidump\Mini051509-01.dmp.

Дампы памяти Windows [ править ]

Microsoft Windows поддерживает два формата дампа памяти, описанные ниже.

Дампы режима ядра [ править ]

Существует пять типов дампов режима ядра: [17]

  • Полный дамп памяти — содержит полную физическую память целевой системы.
  • Дамп памяти ядра — содержит всю память, используемую ядром на момент сбоя.
  • Небольшой дамп памяти — содержит различную информацию, такую ​​как код остановки, параметры, список загруженных драйверов устройств и т. д.
  • Автоматический дамп памяти (Windows 8 и более поздние версии) — то же, что и дамп памяти ядра, но если файл подкачки является управляемым системой и слишком мал для захвата дампа памяти ядра, он автоматически увеличит размер файла подкачки как минимум до размера ОЗУ для четыре недели, затем уменьшите его до меньшего размера. [18]
  • Дамп активной памяти (Windows 10 и более поздние версии) — содержит большую часть памяти, используемой приложениями ядра и пользовательского режима.

Для анализа дампов режима ядра Windows инструменты отладки для Windows . используются [19]

Дампы памяти пользовательского режима [ править ]

Дамп памяти пользовательского режима, также известный как минидамп . [20] это дамп памяти одного процесса. Он содержит выбранные записи данных: полную или частичную (отфильтрованную) память процесса; список потоков с их стеками вызовов и состоянием (например, регистры или TEB ); информация об дескрипторах объектов ядра; список загруженных и выгруженных библиотек . Полный список опций доступен в MINIDUMP_TYPE перечисление. [21]

Космические миссии [ править ]

Программа НАСА « Вояджер» , вероятно, была первым кораблем, который регулярно использовал функцию сброса активной зоны в сегменте глубокого космоса. Функция дампа ядра является обязательной функцией телеметрии для сегмента Deep Space, поскольку доказано, что она минимизирует затраты на диагностику системы. [ нужна цитата ] Корабль «Вояджер» использует регулярные дампы ядра, чтобы обнаружить повреждение памяти в результате событий космических лучей .

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

См. также [ править ]

Ссылки [ править ]

  1. ^ «Информация об AIX 7.1» . [ постоянная мертвая ссылка ]
  2. ^ core(5): Файл ядра процесса – Solaris 11.4 по форматам файлов Справочное руководство
  3. ^ Кори Янссен (25 октября 2012 г.). «Что такое дамп базы данных? — Определение из Techopedia» . Techopedia.com . Архивировано из оригинала 20 августа 2015 года . Проверено 29 июня 2015 г.
  4. ^ «Как настроить компьютер для снятия полного дампа памяти» . sophos.com . 12 июля 2010 г. Архивировано из оригинала 1 июля 2015 г. Проверено 29 июня 2015 г.
  5. ^ Оксфордский словарь английского языка , sv 'core'
  6. ^ «Определение дампа хранилища» . Архивировано из оригинала 11 мая 2013 г. Проверено 3 апреля 2013 г.
  7. ^ Роджерс, Пол; Кэри, Дэвид (август 2005 г.). Сбор и анализ диагностических данных z/OS (PDF) . Корпорация IBM. стр. 77–93. ISBN  0738493996 . Архивировано (PDF) из оригинала 21 декабря 2018 г. Проверено 29 января 2021 г.
  8. ^ Корпорация IBM (октябрь 2008 г.). Операции z/VM и Linux для системных программистов z/OS (PDF) . п. 24 . Проверено 25 января 2022 г.
  9. ^ Венкатешваран, Шрикришнан (2008). Основные драйверы устройств Linux . Серия статей о разработке программного обеспечения с открытым исходным кодом Prentice Hall. Прентис Холл. п. 623. ИСБН  978-0-13-239655-4 . Архивировано из оригинала 26 июня 2014 г. Проверено 15 июля 2010 г. До появления kdump Linux Kernel Crash Dump (LKCD). популярным механизмом получения и анализа дампов был
  10. ^ Проект документации Fedora (2010). Руководство по безопасности Fedora 13 . Корпорация Фултус. п. 63. ИСБН  978-1-59682-214-6 . Архивировано из оригинала 26 июня 2014 г. Проверено 29 сентября 2010 г. Службы удаленного дампа памяти, такие как netdump, передают содержимое памяти по сети в незашифрованном виде.
  11. ^ «Программа дампа ядра системы» (PDF) . Операционная система IBM 7090/7094 IBSYS — Версия 13 — Системный монитор (IBSYS) (PDF) . Справочная библиотека по системам (Восьмое изд.). ИБМ . 30 декабря 1966 г. стр. 18–20. C28-6248-7 . Проверено 10 мая 2024 г.
  12. ^ «Установка шаблона имени для наборов данных дампа» (PDF) . Системные команды z/OS 2.5 MVS (PDF) . 25 марта 2022 г. стр. 474–475. SA38-0666-50 . Проверено 6 апреля 2022 г.
  13. ^ Информация о системе OS/VS2 MVS Интерактивная система контроля проблем (IPCS) — SUID 5752-857 (PDF) (Первое издание). ИБМ . Март 1978 г. GC34-2004-0 . Проверено 29 июня 2023 г.
  14. ^ Руководство пользователя и справочная информация по интерактивной системе контроля проблем OS/VS2 MVS — SUID 5752-857 (PDF) (второе изд.). ИБМ . Октябрь 1979 г. GC34-2006-1 . Проверено 29 июня 2023 г.
  15. ^ «Подкоманда SETDEF — установить значения по умолчанию» (PDF) . z/OS 2.5 — Команды интерактивной системы управления проблемами MVS (IPCS) (PDF) . ИБМ . 12 мая 2023 г. п. 239 . SA23-1382-50 . Проверено 6 апреля 2022 г. ACTIVE, MAIN или STORAGE задают центральное хранилище для адресного пространства, в котором в данный момент работает IPCS, и позволяют вам получить доступ к этому активному хранилищу в качестве источника дампа. Вы можете получить доступ к личному хранилищу и любому общему хранилищу, доступному неавторизованной программе.
  16. ^ «core(5) — страница руководства Linux» . man7.org . 05.12.2015. Архивировано из оригинала 20 сентября 2013 г. Проверено 17 апреля 2016 г.
  17. ^ «Разновидности файлов дампа режима ядра» . Майкрософт. Архивировано из оригинала 22 февраля 2018 года . Проверено 22 февраля 2018 г.
  18. ^ «Автоматический дамп памяти» . Майкрософт. 28 ноября 2017 г. Архивировано из оригинала 17 марта 2018 г. . Проверено 16 марта 2018 г.
  19. ^ «Начало работы с WinDbg (режим ядра)» . Архивировано из оригинала 14 марта 2016 года . Проверено 30 сентября 2014 г.
  20. ^ «Файлы минидампа» . Архивировано из оригинала 27 октября 2014 года . Проверено 30 сентября 2014 г.
  21. ^ «Перечисление MINIDUMP_TYPE» . Архивировано из оригинала 11 января 2015 года . Проверено 30 сентября 2014 г.

Примечания [ править ]

  1. ^ Термин «ядро» устарел для современного оборудования, но используется во многих системах по историческим причинам.
  2. ^ Например, z/OS
  3. ^ То есть вы можете поместить курсор на слово или двойное слово, содержащее адрес, и запросить отображение хранилища по этому адресу.
  4. ^ Перейти обратно: а б Некоторые старые машины были десятичными .
  5. ^ В том смысле, что записи были двоичными, а не отформатированными для печати.
  6. ^ Файлы вывода системы (SYSOUT) — это временные файлы, принадлежащие программному обеспечению SPOOL .
  7. ^ Первоначально пакетная утилита IMDPRDMP; в настоящее время это команда TSO и набор панелей ISPF для интерактивной системы управления проблемами (IPCS).
  8. ^ IBM предоставила инструменты для извлечения и форматирования данных из неформатированного дампа; эти инструменты [г] часто было проще иметь дело с неформатированным дампом, чем с форматированным дампом.
  9. ^ С тех пор IBM добавила возможность иметь до сотни наборов данных дампа с именами SYS1.DUMPnn(нн от 00 до 99). z/OS поддерживает несколько наборов данных дампа системы с произвольными шаблонами dsname при установке и операторе. [12] контроль.
  10. ^ Имея права на чтение класса объектов BLSACTV.ADDRSPAC, IPCS может просматривать любое адресное пространство.

Внешние ссылки [ править ]

Описание формата файла

Дампы ядра ядра:

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: E2DF2053899DB41697A665395476F2DB__1715348760
URL1:https://en.wikipedia.org/wiki/Core_dump
Заголовок, (Title) документа по адресу, URL1:
Core dump - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)