Дамп памяці

Дамп памяці (; у Unix — ) — змесціва рабочай памяці аднаго працэсу, ядра ці ўсёй аперацыйнай сістэмы. Таксама можа змяшчаць дадатковую інфармацыю аб стане праграмы ці сістэмы, напрыклад значэнні рэгістраў працэсара і змест стэку. Шматлікія аперацыйныя сістэмы дазваляюць захаваць дамп памяці для адладкі праграм. Як правіла, дамп памяці працэсу захоўваецца аўтаматычна калі працэс завяршаецца з-за крытычнай памылкі (напрыклад, з-за памылкі сегментацыі). Дамп таксама можна захаваць уручную праз адладчык ці любую іншую спецыяльную праграму.

 Гісторыя 
Англійскі тэрмін  літаральна перакладаецца як «раздрукоўка змесціва сардэчнікаў»: на ранніх камп’ютарах, дамп значыў прынтарную раздрукоўку змесціва памяці на магнітных сардэчніках ().

 У Unix 
У сучасных Unix-падобных аперацыйных сістэмах дамп памяці захоўваецца ў выглядзе файла, які звычайна завецца core ці core.<нумар працэсу>; яго фармат такі ж, як фармат выканальных файлаў гэтай АС (ELF у Linux і сучасных Unix, a.out у традыцыйных Unix-сістэмах, Mach-O у Mac OS X). Для аналізу core-файла выкарыстоўваецца адладчык (напрыклад gdb) ці інструмент objdump.

 У Windows 
У Windows, аналагам core dump’а з’яўляецца minidump, які дазваляе захоўваць частковую ці поўную інфармацыю аб працэсе, у тым ліку і поўны змест рабочай памяці.

 Дамп сістэмы 
Дамп 32-х бітнай аперацыйнай сістэмы Windows змяшчае FFFF FFFF16 ці 429496729510 (232 — 1) байтаў. Большая іх частка змяшчае значэнне па змоўчванню — лік 0. Дамп можна лагічна падзяліць на сегменты па 64 кб (FFFF16), таму .com файлы аперацыйнай сістэмы Windows не могуць перавышаць гэтага памеру і змяшчаюцца толькі ў адным сегменце, аднак праграма можа перадаваць кіраванне над выкананнем функцыі ў іншыя сегменты. Падчас запуску .com файла ўвесь код файла без зменаў заносіцца ў адзін з незанятых іншымі працэсамі сегмент.

Дамп змяшчае даныя і каманды розных працэсаў, як карыстальніцкіх праграм так і ядра аперацыйнай сістэмы (у прыватнасці ўсе перапыненні BIOS, яны ж стандартныя функцыі). Таксама ў дампе змяшчаюцца значэнні рэгістраў працэсара і змест розных стэкаў, сістэмны час і іншыя зменныя асяроддзя.

 Гл. таксама 
 Справаздача аб памылцы, праграмаванне
 Памылка сегментацыі
 Дамп

 Спасылкі 
 Why does this not work!? How to find and fix faults in Linux applications. 
Фарматы дампа памяці ў розных аперацыйных сістэмах:







 Windows: функцыі для работы з minidump

Катэгорыя:Адладка праграм
Катэгорыя:Камп’ютарныя памылкі