Что такое дамп, нужен ли он вам и стоит ли его отключить?
easy

Что такое дамп, нужен ли он вам и стоит ли его отключить?

Это когда всё из оперативной памяти или процессора записывают в файл

Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом senior. У «Яндекс Практикума» есть курсы ровно для этого.
Начать бесплатно
Апскиллинг, как говорится

Иногда компьютер внезапно перестаёт работать, выводит сообщение о критической ошибке. В Windows это может выглядеть примерно так:

Что такое дамп, нужен ли он вам и стоит ли его отключить?
«Синий экран смерти» Windows: всё сломалось

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

Что такое дамп памяти

Когда компьютер работает, у него постоянно что-то есть в оперативной памяти: ядро операционной системы, драйверы, запущенные программы и другие данные. Всем этим пользуется процессор — он работает с памятью напрямую, берёт оттуда инструкции и записывает новые значения в разные ячейки памяти. 

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

Некоторые системы настроены так, что в минуту неопределённости они записывают всю свою оперативную память в файл на диске и готовятся к перезагрузке.

В Windows можно выбрать 5 вариантов дампа — от полного до малого на 256 килобайт. Чем больше дамп, тем больше в нём информации для отладки и поиска ошибки, но в то же время тем сложнее потом несчастным разработчикам искать, в чём именно проблема.

Что такое дамп, нужен ли он вам и стоит ли его отключить?

Как выглядит дамп памяти

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

Что такое дамп, нужен ли он вам и стоит ли его отключить?
Фрагмент дампа памяти в шестнадцатеричном виде

Зачем нужен дамп памяти

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

Например, в дампе можно увидеть, что программа сказала процессору взять значение переменной из ячейки памяти 0FA67F, а должна была из ячейки 0FB67F. Процессор попытался это сделать, но эта ячейка уже использовалась другой программой или каким-то драйвером. В итоге вся работа нарушилась, процессор начал выполнять неправильные инструкции, и всё сломалось.

Полный дамп — это полезно, но не всегда безопасно

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

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

С другой стороны, в дампе может оказаться личная информация пользователя:

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

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

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Аня Соколова

Апскиллинг, как говорится
Апскиллинг — это, например, переход с уровня junior на уровень middle, а потом — senior. У «Яндекс Практикума» есть курсы ровно для этого: от алгоритмов и типов данных до модных фреймворков.
Изучить вопрос
Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится Апскиллинг, как говорится
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy