In computing, a memory dump or (core dump) is a record of the raw, unstructured contents of one or more regions of working memory at a specific time, generally used to debug a program that has terminated abnormally (crashed). Nowadays, it typically refers to a file containing the memory image of a particular process, or the memory images of parts of the address space of that process, along with other information such as the values of processor registers, but originally it was a printout of the entire contents of working memory.
The name comes from old-fashioned core memory and the image of dumping a bulk commodity such as gravel or wheat.
Core dumps are a useful debugging aid in several situations. On early standalone or batch-processing systems, core dumps allowed a user to debug a program without monopolizing the (very expensive) computing facility for debugging. Besides, a printout was more convenient than debugging using switches and lights. On shared computers, whether time-sharing, batch processing, or server systems, core dumps allow off-line debugging of the operating system, so that the system can be back in operation immediately. Core dumps allow a user to save a crash for later or off-site analysis, or comparison with other crashes. For embedded computers, it may be impractical to support debugging on the computer itself, so a dump can be taken for analysis on a different computer. Some operating systems (such as early versions of Unix) do not support attaching debuggers to running processes, so core dumps are necessary in order to run a debugger on a process's memory contents. Finally, of course, an interactive debugger may simply not yet have been written for a particular system.
On many operating systems, a fatal error in a program automatically triggers a core dump. To 'dump core' therefore often means encountering a fatal error regardless of whether a core dump is created.
A core dump, unlike other kinds of debugging information, represents the complete, unstructured state of the dumped memory regions. It is thus especially useful when pointer structures have been corrupted when using assembly language or an unsafe programming language such as C; in that case, source-level debuggers may not be able to access or interpret the memory state in a useful way. A debugger can use a symbol table (if there is one) to help the programmer interpret dumps, identifying variables symbolically and displaying source code. There are also special-purpose tools called dump analyzers.
The paper form of dump generally was arranged in columns of hexadecimal numbers (a "hex dump"), sometimes with alternate interpretations of memory contents along the side: as machine language instructions, as text strings, as decimal numbers, as floating-point numbers, etc.
2006-09-30 09:02:03
·
answer #1
·
answered by junaidi71 6
·
0⤊
0⤋
Memory dump
The act of copying raw data from one place to another with little or no formatting for readability. Usually, dump refers to copying data from main memory to a display screen or a printer. Dumps are useful for diagnosing bugs. After a program fails, one can study the dump and analyze the contents of memory at the time of the failure. Dumps are usually output in a difficult-to-read form (that is, binary, octal or hexadecimal), so a memory dump will not help unless each person knows exactly for what to look.
2006-09-30 09:04:04
·
answer #2
·
answered by wllada2003 2
·
0⤊
0⤋
When you dump the best memories under the influence of depression or nervous breakdown!!
2006-09-30 09:01:18
·
answer #3
·
answered by CURIOUS 3
·
0⤊
1⤋