Fact-checked by Grok 2 weeks ago

Core dump

A core dump is a file containing a snapshot of a process's image, including its , registers, and other state information, captured at the moment of abnormal termination, such as from a or other unhandled signal, to facilitate postmortem and of software crashes. The term originates from the era of in early computers, where "core" referred to the ferrite rings used for main storage, and "dumping" meant or the contents for during failures. In operating systems, core dumps are automatically generated by the in response to specific signals (e.g., SIGSEGV for invalid access or SIGABRT for assertion failures), provided the process's limit for core files (RLIMIT_CORE) permits it and the system configuration enables dumping. These files, typically named "core" or "core." where is the process ID, can be inspected using tools like the GNU Debugger (GDB) to reconstruct the program's state, identify faulty code, and trace execution paths leading to the crash. Configuration options, such as the parameter /proc/sys//core_pattern, allow customization of dump filenames, compression, or piping to external programs for processing. While core dumps are a staple of Unix and environments, analogous mechanisms exist in other operating systems; for instance, Windows generates dump files (e.g., complete, , or minidump) upon system crashes or application faults, capturing varying levels of physical for use with tools like . These dumps serve critical roles in , system administration, and incident response, enabling developers to diagnose corruption, overflows, or leaks without reproducing the failure in real-time. Modern systems often include safeguards like excluding sensitive data or limiting dump sizes to balance debugging utility with security and storage concerns.

Introduction

Definition

A core dump is a file containing an image of a process's memory at the moment of its termination. This snapshot captures the complete state of the process, including key components such as the heap for dynamically allocated data, the stack for local variables and function frames, CPU registers, and code segments. The term "core dump" originates from the magnetic core memory technology prevalent in early computers, where such dumps preserved the contents of ferrite core-based storage. Understanding a core dump requires familiarity with the typical memory layout in systems, which divides into distinct segments. The text segment holds the program's executable instructions. The stores initialized global and static variables, while the segment allocates space for uninitialized ones. Above these lie the , managed for runtime allocations, and the , which grows downward to handle calls and variables. Registers, though not part of the segments, are also preserved to reflect the processor's state at termination. In contrast to other diagnostic outputs like logs or execution traces—which provide textual records of events or high-level behaviors—a core dump delivers a raw, representation of and for precise reconstruction of failures. Its fundamental purpose is to facilitate post-mortem examination in a , enabling developers to investigate runtime errors such as segmentation faults, often triggered by signals like SIGSEGV. This allows pinpointing issues like invalid accesses or assertion violations that caused the process to abort.

Historical Background

The concept of a core dump originated in the with the widespread use of systems, where "" specifically referred to the tiny ferrite rings that stored individual bits of data in early computers like those from and MIT's project. These systems required mechanisms to capture and preserve contents during failures for post-mortem , as physical core memory was expensive. Early implementations emerged in mainframe operating systems, including IBM's OS/360, announced in 1964, which provided debugging tools for dumping memory states to aid in error diagnosis. Similarly, the operating system, developed from 1965 to 1969 on the GE-645 computer, incorporated core dump capabilities to examine memory after crashes, supporting its architecture. In the 1970s, , created by and at , adopted and refined these features for software debugging, transitioning from hardware-centric dumps to more accessible file-based outputs on minicomputers like the PDP-11. The evolution continued into the personal computing era, where core dumps shifted from hardware-initiated captures in mainframes to software-generated files, enabling easier portability and analysis on smaller systems. A key milestone occurred in with the POSIX.1 standard (IEEE Std 1003.1-1988), which described core dump practices as common in systems to promote portability. In the and , with the introduction of architectures, core dumps were adapted to include process address spaces beyond physical limits. Although was largely replaced by semiconductor RAM after the 1970s, the nomenclature "core dump" endured in software practices, reflecting its historical roots while applying to modern .

Generation

Automatic Triggers

In operating systems, core dumps are automatically triggered by unhandled signals that have a default action of terminating the process and generating a core file. Primary examples include SIGSEGV, which is raised upon segmentation violations such as invalid memory access; SIGABRT, often invoked by the abort() function during assertion failures; and SIGQUIT, typically sent by the quit command or certain keyboard interrupts. Other signals like SIGFPE (floating-point exceptions, e.g., on some architectures), SIGILL (illegal instructions), SIGBUS (bus errors), and SIGTRAP (trace traps on certain systems) also initiate dumps under similar conditions. The operating system plays a central role in detecting these fatal errors and initiating the core dump . Upon receiving such a signal, the terminates the offending and, if enabled, creates a core dump file capturing the 's at the moment of . This detection occurs for hardware-generated faults, such as invalid references or arithmetic errors, ensuring the dump is produced before cleanup. Core dump generation is subject to resource limits configured via system calls like setrlimit() or the ulimit command, particularly the RLIMIT_CORE limit which controls the maximum size of the core file. If RLIMIT_CORE is set to zero, no dump is produced, preventing potential disk exhaustion; similarly, exceeding RLIMIT_FSIZE may block the dump unless configured otherwise. Additional conditional factors can trigger dumps indirectly, such as pipe write failures in some configurations (though SIGPIPE typically terminates without dumping) or watchdog timeouts in supervised environments that escalate to abort signals. Assertion failures explicitly call abort(), routing through SIGABRT to force a dump. At the time of triggering, the core dump preserves the process's full state, including contents, CPU registers, a list of open file descriptors, environment variables, and—for multi-threaded processes—the and registers of all threads, enabling later reconstruction of the execution .

Manual Invocation

Manual invocation enables the deliberate generation of core dumps from running processes, providing a controlled alternative to automatic triggers that respond only to unhandled signals like segmentation faults. This approach is essential for proactive diagnostics in production environments where faults are not yet manifesting. Command-line utilities offer straightforward ways to initiate core dumps externally. The gcore tool, included in the GNU Debugger (GDB) distribution, attaches to one or more running processes by their process IDs () and produces core files equivalent to those created by the during a , while allowing the processes to continue execution afterward. For example, executing gcore <pid> pauses the target process temporarily, dumps its memory state, and resumes operation, with the output file named core.<pid> by default. Similarly, the kill command can send SIGQUIT (signal 3) or SIGABRT (signal 6) to a PID, both of which have a default action of terminating the process and generating a core dump. Within application code, programmatic triggers facilitate core dumps at specific points, such as during error conditions or checkpoints. and C++, the abort() function from <stdlib.h> raises SIGABRT, leading to abnormal program termination and a core dump unless the signal is caught and handled to prevent it. Developers can also explicitly call raise(SIGABRT) to achieve the same effect, ensuring the process state is captured precisely where the invocation occurs. Equivalent functionality in other languages, such as Python's os.abort(), leverages underlying signal APIs to simulate abort conditions and produce dumps. Debugger attachments provide interactive control over core dump creation. In GDB, after attaching to a with gdb -p <pid>, the generate-core-file command (or its alias gcore) saves the inferior process's image and register state to a , defaulting to core.<pid> if unspecified. This method supports customization, such as excluding certain mappings via the use-coredump-filter setting, and generates sparse files on compatible filesystems to optimize storage. System configuration influences manual dump behavior in environments. The /proc/sys//core_pattern parameter defines the template for core file names and can route dumps to a for processing by a user-space program, applying uniformly to manually invoked dumps from tools like gcore or signal sends. For instance, setting core_pattern to /tmp/core.%p directs all dumps, including manual ones, to a specific directory with inclusion. These techniques are valuable for diagnosing hangs or intermittent issues, where capturing a allows offline examination without forcing an immediate that could exacerbate problems. The resulting files adhere to standard storage conventions, typically placed in the current or as configured. A key limitation is the potential for incomplete dumps if the process is in an inconsistent state, such as midway through operations or with locked regions, leading to partial or unreliable snapshots. Additionally, memory marked non-dumpable via /proc//coredump_filter is omitted by in tools like gcore, unless explicitly overridden.

Uses and Applications

Debugging Software Failures

Core dumps play a crucial role in software failures by preserving the exact state of a program at the moment of a , enabling developers to reconstruct the execution context without needing to reproduce the issue in a live environment. This includes capturing the , which reveals the sequence of calls leading to the failure, as well as the values of variables and registers at that instant. By loading the core dump into a such as GDB, analysts can examine these elements to identify root causes like memory corruption. Such reconstruction is particularly valuable for pinpointing issues like buffer overflows, where data exceeds allocated memory boundaries and overwrites adjacent areas, or dereferences, which occur when code attempts to access memory through an uninitialized pointer. In these cases, the core dump allows inspection of corrupted memory regions and the offending code paths, facilitating targeted fixes that might otherwise require extensive logging or trial-and-error reproduction. For instance, tools within GDB can dump memory contents around the fault address to visualize overflow patterns or invalid accesses. Integration with integrated development environments (IDEs) further enhances this process by allowing core dumps to be loaded directly into debuggers for interactive analysis, simulating a step-through execution as if the program were still running. like CLion or support postmortem debugging of core files, where developers can set breakpoints retrospectively, inspect variables frame by frame, and navigate the call stack visually. This approach bridges the gap between crash artifacts and familiar development workflows, making it easier to correlate dump data with . In multi-threaded applications, core dumps provide a snapshot of all threads' states, enabling the identification of concurrency issues such as race conditions—where threads access shared data unpredictably—or deadlocks, where threads mutually block resource acquisition. Debuggers like GDB offer commands such as info threads to list active threads and thread apply all bt to generate backtraces for every thread simultaneously, revealing contention points or locked resources at crash time. This thread-level visibility is essential for diagnosing non-deterministic bugs that evade live debugging sessions. Effective analysis requires matching the core dump against the precise version of the source code and that produced it, typically using debug symbols to map addresses to names, line numbers, and variable details. If symbols are stripped from the , a separate debug information file or the original build artifact must be used; mismatches can lead to incomplete or misleading traces, as the dump's layout depends on the exact compilation. GDB verifies compatibility by loading the executable alongside the core file, ensuring symbols align correctly for accurate reconstruction. Best practices for enabling useful core dumps include compiling with debug symbols via flags like -g in or , which embed symbol tables without significantly impacting performance, and retaining these in separate files (e.g., using -gsplit-dwarf) for production deployments. Additionally, avoiding aggressive optimization flags like -O3 during builds—or using -Og for a balance—prevents code transformations that reorder instructions or inline functions, which can obscure variable states and stack frames in the dump. These steps ensure dumps remain interpretable while maintaining realistic crash conditions. By facilitating rapid offline diagnosis of production incidents, core dumps contribute to reducing mean time to (MTTR). This impact is amplified in high-availability systems, where quick postmortem minimizes without requiring on-site reproduction.

Forensic and Diagnostic Purposes

Core dumps are instrumental in incident response efforts, capturing the full state of a process's at the moment of failure to facilitate of system outages. Investigators use them to pinpoint the sequence of leading to . For instance, in network device incidents, core dumps from systems preserve volatile data like main and I/O buffers, allowing of without rebooting the device. In security forensics, core dumps enable detection of exploits by revealing anomalous memory patterns indicative of attacks, such as stack smashing through buffer overflows or to facilitate . These artifacts can extract traces of malicious payloads, network traffic captured in memory, or unauthorized modifications, supporting attribution in breach investigations. Unlike routine , which focuses on isolated bugs, forensic analysis of core dumps addresses systemic compromises, though they often contain sensitive data that requires secure handling to mitigate risks. For , core dumps support to uncover resource exhaustion and inefficient code paths, such as gradual growth from leaks that degrade application responsiveness over time. By examining structures within the dump, engineers identify allocation hotspots and deallocation failures, informing optimizations without relying solely on live tracing tools. This approach is particularly valuable in diagnosing intermittent issues that evade monitoring. In and auditing contexts, core dumps serve as evidentiary records for regulatory reviews in regulated industries like and healthcare, where they document failure modes to verify adherence to standards such as and error handling protocols. Access to these files must be tightly controlled, with directories restricted to software owners and designated administrators to prevent unauthorized exposure of potentially confidential contents. Handling core dumps in secure environments presents challenges, including the need to manage encrypted or obfuscated files while preserving forensic value for analysis. In virtualized setups like , core dumps are automatically encrypted to protect sensitive information, necessitating decryption keys and policy-compliant storage to balance diagnostics with data protection requirements. Additionally, vulnerabilities in dump handlers can inadvertently expose credentials or keys, complicating retention in high-security deployments.

Analysis Techniques

Manual Inspection Methods

Manual inspection of core dumps involves low-level examination of the raw file contents to uncover states, execution paths, and artifacts from a crashed process. This approach relies on basic utilities for viewing and requires familiarity with the underlying and . Analysts typically begin by loading the core dump into a hexadecimal viewer to scan for recognizable patterns, such as ASCII strings that may indicate messages or variable contents. Hexadecimal viewing uses command-line tools like hexdump or xxd to display the core dump's in a readable format, showing both bytes and their ASCII equivalents where applicable. This allows identification of textual artifacts, such as log strings or buffer overflows, embedded in memory regions. For instance, scanning sections around the or might reveal null-terminated strings or binary signatures of allocated data. Such inspection helps pinpoint anomalies like corrupted pointers or unexpected data overwrites without higher-level interpretation. Symbol table parsing entails manually correlating memory addresses in the core dump with function names and offsets from the executable's . This process involves extracting addresses from key locations, such as the or registers preserved in the dump, and cross-checking them against a disassembly listing of the binary. By aligning these addresses, analysts can trace function calls leading to the , identifying entry points or return paths. This method demands access to the unstripped and knowledge of the ELF format's symbol sections. Stack unwinding reconstructs the call by calculating pointers and addresses stored in the core dump's segment. Starting from the saved base pointer (e.g., RBP on x86_64), each 's is followed to the previous , revealing the sequence of invocations at the time of failure. This manual traversal accounts for and code in , which adjust the pointer, and can expose issues like buffer overflows that corrupt frames. pointers, when enabled during , simplify this process by providing direct links between frames. Memory mapping correlates sections of the core dump to the process's , identifying regions like the text segment for , data for globals, or for dynamic allocations. By examining the ELF program headers in the dump, which outline mapped intervals, analysts can locate malloc'ed regions or shared libraries. This step reveals how memory was laid out, such as distinguishing executable from writable data, to assess access violations or leaks. Cross-referencing enhances accuracy by comparing the core dump's contents with process maps obtained from /proc/<pid>/maps on systems, ideally captured before the . This file lists virtual addresses, permissions, and backing files for each , allowing validation of dump sections against the original —such as confirming a heap region's boundaries. Discrepancies might indicate partial dumps or post-crash changes, aiding in contextualizing observed . These manual methods are time-intensive, particularly for large core dumps exceeding gigabytes, as they involve byte-by-byte navigation and repeated calculations. They also require deep knowledge of and system internals, limiting their practicality for complex crashes where automated tools offer greater efficiency.

Automated Analysis Tools

Automated analysis tools for core dumps leverage debuggers, sanitizers, and reporting frameworks to parse states, extract stack traces, and identify failure patterns without manual intervention. These utilities enable scalable of crashes across and production environments, often integrating scripting for repeatable workflows. By automating resolution, inspection, and error annotation, they reduce time and improve accuracy in diagnosing issues like segmentation faults or corruption. The GNU Debugger (GDB) provides interactive yet automated core dump analysis through commands such as bt for generating backtraces, info registers for displaying CPU register values at the time of the crash, and x for examining memory contents at specific addresses. Loading a core file with gdb executable core allows these commands to operate on the dumped process state, facilitating automated scripting via GDB's Python API for batch processing multiple dumps. LLDB, the debugger integrated into Apple's Xcode, supports core file analysis on macOS and iOS platforms, enabling scripting with Python and Lua for automated visualization of stack frames and variables. Commands like bt and register read mirror GDB functionality, while LLDB's expression evaluator allows dynamic code execution against the core dump for deeper inspection. This makes it suitable for ecosystem-specific debugging, such as iOS app crashes, with built-in support for Mach-O binaries and symbolication. For Windows systems, analyzes dump files (.dmp) using extensions like !analyze for automated bug check interpretation and kernel-mode stack unwinding. Loaded via File > Open Crash Dump or command-line options such as windbg -z <file.dmp>, it supports kernel extensions such as !process for thread enumeration and !peb for process environment block details, streamlining triage of blue screen crashes. For user-mode dumps, similar analysis applies using appropriate symbols and commands. AddressSanitizer (ASan), a compiler-integrated runtime tool from / and , detects memory errors like use-after-free or buffer overflows and can be configured to abort on errors, triggering core dump generation for subsequent analysis. Setting ASAN_OPTIONS=abort_on_error=1 ensures the process terminates with a core file containing annotated error locations, including shadow memory maps that highlight corrupted regions. This facilitates automated detection without post-mortem manual parsing. On systems using (common in distributions like and as of 2025), systemd-coredump automatically collects and stores core dumps, with the coredumpctl command providing automated analysis tools. Commands like coredumpctl list enumerate dumps, coredumpctl info <pid> displays details, and coredumpctl gdb <pid> launches GDB directly on the dump for backtrace and inspection, simplifying without manual file handling. Crash reporting systems integrate core dumps for remote upload and triage; for instance, Sentry's coredump-uploader utility monitors directories for new core files and automatically transmits them to its platform for symbol resolution and grouping by error signatures. Similarly, the ELK Stack (, , ) can process extracted stack traces from core dumps via Logstash pipelines, enabling searchable indexing and visualization for fleet-wide crash pattern analysis. Scripting extensions enhance automation in GDB; pwndbg, a Python-based , automates in core dumps by providing enhanced hexdump views, context-aware disassembly, and custom commands for searching memory artifacts like ROP chains. Installed as a GDB , it supports core file loading and scripting for repeatable vulnerability hunts, improving efficiency over vanilla GDB interactions.

File Properties

Structure and Format

Core dump files capture the state of a at termination, typically organizing data in a structured binary format to facilitate post-mortem . In systems, the predominant format is the (ELF), which treats the core dump as a specialized ELF file with type ET_CORE (value 4) to distinguish it from executables or object files. The ELF header begins with the e_ident array, featuring magic bytes 0x7F followed by the ASCII characters 'E', 'L', 'F' (0x45, 0x4C, 0x46), which identify the file as ELF-compliant, along with fields specifying class (e.g., 32-bit or 64-bit), data encoding (), and version. Following the header, program headers describe loadable segments and auxiliary information, while sections may include notes for metadata. The program headers in an ELF core dump include entries of type PT_LOAD (value 1), which map virtual memory areas (VMAs) from the process's address space to offsets in the file, capturing segments like the text, data, heap, and stack with details on virtual address, memory size, file size, and permissions (e.g., read, write, execute). A critical PT_NOTE (value 4) entry houses process-specific notes, structured as a sequence of note headers (Elf64_Nhdr or Elf32_Nhdr) containing name size, descriptor size, and type, followed by the note data. Common note types encompass NT_PRSTATUS for register states and signal information, NT_PRPSINFO for process details like command line and execution state, and NT_AUXV for the auxiliary vector, which includes entries such as the command-line arguments, environment variables, and hardware capabilities. These components collectively provide a snapshot of memory mappings and execution context without embedding the full executable. Beyond , portable formats like the minidump used in Breakpad offer cross-platform alternatives, serializing crash data as a sequence of modular s within a header-defined structure. The minidump header (MINIDUMP_HEADER) specifies the file signature ('MDMP'), version, count, and a directory of locations, with each (e.g., thread lists, regions, exception records) containing typed data for s, stacks, and modules to enable on diverse architectures without OS-specific dependencies. Core dumps routinely incorporate such as the generation timestamp, process ID (), terminating signal number (e.g., SIGSEGV for segmentation faults), and CPU dumps, often stored in dedicated note s or headers to contextualize the failure. To address storage constraints, dumps may employ , such as gzipping the entire post-generation via or user-space tools, reducing size while preserving the underlying structure for prior to analysis. Standards like the Generic ABI (gABI) for define the header, program, and note formats to ensure interoperability across implementations, while guidelines mandate core generation on unhandled signals (e.g., SIGABRT, SIGFPE) but leave the exact encoding implementation-defined, with as the convention in modern systems.

Naming and Storage Conventions

Core dump files in Unix-like systems follow standardized naming conventions to facilitate identification and organization. By default, the file is named simply "core" and stored in the current working directory of the process that generated it. If the kernel parameter /proc/sys/kernel/core_uses_pid is set to a nonzero value, the filename incorporates the process ID (PID) as "core.", such as "core.12345", to avoid overwriting existing files from multiple processes. Advanced naming patterns are configurable through the /proc/sys/[kernel](/page/Kernel)/core_pattern file, which supports placeholders for dynamic elements like (%p), signal number (%s), (%t in seconds since ), (%h), and name (%e). For instance, a pattern like "core.%p.%s.%t" produces files such as "core.12345.11.1636450000", where 11 represents the signal (e.g., SIGSEGV). This file can also specify a full for , redirecting dumps away from the to a central location like /var/crash/core.%p. Additionally, patterns starting with a pipe symbol (|) enable the dump to a user-space for immediate processing, such as Ubuntu's Apport crash reporter via |/usr/share/apport/apport %p %s %c %d %P %E. Storage management often involves quotas and automated cleanup to prevent excessive disk usage. In systems using , dumps are stored compressed in /var/lib/systemd/coredump, with limits enforced via /etc/systemd/coredump.conf: MaxUse= defaults to 10% of the filesystem size, triggering deletion of oldest dumps when exceeded, while KeepFree= reserves 15% free space with priority. Individual dump sizes are capped by ProcessSizeMax= (defaults to 1 on 32-bit systems and 32 on 64-bit systems). Retention is further handled by systemd-tmpfiles, which defaults to deleting files in /var/lib/systemd/coredump after 3 days via a configuration in /usr/lib/tmpfiles.d/systemd.conf. Security practices emphasize restricting core dumps in production environments, where they may expose sensitive data from process memory, including credentials or proprietary information. Administrators often disable generation entirely using ulimit -c 0 in profiles like /etc/[profile](/page/Profile) or by setting Storage=none in coredump.conf. When enabled, dumps should be directed to restricted directories with appropriate permissions, such as those owned by and inaccessible to non-privileged users, to mitigate unauthorized access risks. For historical retention, core dumps can integrate with log rotation tools like logrotate, configured to compress, rotate, and archive files in designated directories based on size or age thresholds, ensuring organized long-term storage without manual intervention. This approach complements kernel-level policies, allowing customizable retention periods beyond default cleanup mechanisms.

Platform Variations

Unix-like Systems

In operating systems, including , BSD variants, and macOS, core dumps are generated when a terminates abnormally due to signals such as SIGSEGV (), SIGABRT (abort), SIGFPE (floating-point exception), SIGILL (illegal instruction), or SIGQUIT (keyboard quit), which by default trigger a core dump alongside termination. The prctl(PR_SET_DUMPABLE) allows processes to control their dumpability; for instance, setting it to 1 (via prctl(PR_SET_DUMPABLE, 1)) enables core dumps for the calling , which is particularly useful for privileged or processes where dumps are disabled by default to prevent information leakage. This attribute is inherited by child processes but preserved across execve calls, ensuring consistent behavior. Core dumps in these systems typically follow the (ELF), capturing the process's memory image, registers, and auxiliary data at the time of failure. Key note sections include NT_PRSTATUS, which records the process status such as general-purpose registers, signal number, and code, and NT_AUXV, which provides the auxiliary vector containing details like the program's auxiliary information (e.g., AT_PHDR for program header address). In kernels since version 2.6.23, the /proc/[pid]/coredump_filter file offers fine-grained control over dump contents via a bitmask; for example, bit 0 enables anonymous private mappings, bit 1 shared anonymous mappings, and bit 4 ELF headers, with a default value of 0x33 dumping most essential segments while excluding large or sensitive areas to manage . This filtering helps balance diagnostic utility with storage constraints. Naming conventions for core dump files are configurable through /proc/sys/kernel/core_pattern, which supports patterns like %p for process ID and %s for the signal number that caused the dump; for example, setting it to "core-%p-%s" produces files named core-1234-11 for 1234 and SIGSEGV (signal 11). The /proc/sys/kernel/core_uses_pid parameter, when set to 1, automatically appends the (e.g., core.1234) if no %p is in the pattern, providing and uniqueness to avoid overwrites. Storage is limited by the RLIMIT_CORE resource, adjustable via ulimit -c (e.g., ulimit -c unlimited for no limit or ulimit -c 1000000 for 1 MB cap), which prevents excessive disk usage but can truncate dumps if exceeded. In distributions like , the Apport tool automates collection by intercepting crashes and storing compressed dumps in /var/crash/ with metadata, enabled via systemctl enable apport for non-interactive analysis. Similarly, Fedora's ABRT (Automatic Bug Reporting Tool) captures dumps in /var/spool/abrt/, processing them for backtraces and symbolication before optional reporting. Analysis of Unix-like core dumps often involves GDB, loaded as gdb executable core, where symbol resolution requires debug information packages; in systems like or RHEL, these are installed via debuginfo tools, placing symbols in /usr/lib/debug/ for libraries and executables, enabling commands like bt (backtrace) to map addresses to source lines. (ASLR), enabled by default in modern kernels (via /proc/sys/kernel/randomize_va_space=2), randomizes load addresses for security, but core dumps preserve the runtime layout, allowing GDB to relocate symbols accurately without disabling ASLR during analysis—though reproducing crashes may require temporarily setting randomize_va_space=0 for consistent addressing. In containerized environments like on hosts, core dump support requires explicit configuration due to default limits; running containers with --ulimit core=infinity enables unlimited dumps, often combined with volume mounts (e.g., -v /host/tmp:/tmp) to persist files outside the ephemeral container filesystem, and --privileged if kernel restrictions apply, ensuring dumps capture container-specific without host . This setup addresses challenges in isolated environments, where dumps might otherwise be discarded or truncated.

Windows Systems

In Windows systems, the equivalent of a core dump is referred to as a , which captures the state of a or the entire system's at the time of a for purposes. These dumps are primarily managed through (WER), a built-in mechanism that handles both user-mode and kernel-mode . Common types include minidumps, which record essential data such as the call stack and contexts for a specific (typically 256 or less), full dumps that include the entire , and kernel dumps that focus on system-level components. Minidumps are the default for user-mode application crashes to balance diagnostic utility with storage efficiency, while complete memory dumps encompass all physical but require significant disk space and a sufficiently large page file. Memory dumps can be generated automatically or manually. Automatic generation occurs for user-mode crashes via WER, which is triggered by unhandled exceptions in applications and logs events such as Event ID 1000 in the Windows Event Log, indicating the faulting module and exception code. For kernel-mode failures, such as (BSOD) events, dumps are created using the system's page file (pagefile.sys) to store kernel memory data when configured for kernel, automatic, or complete dump types in System Properties. Legacy tools like , available in older Windows versions such as XP and Server 2003, automated user-mode crash reporting with optional full dumps but have been superseded by WER in modern releases. The Fault Tolerant Heap (FTH) feature, introduced in , monitors recurring application crashes and can indirectly facilitate dump collection by mitigating heap corruption before invoking WER. Manual generation provides flexibility for on-demand . Users can create live or user-mode dumps directly from by right-clicking a process and selecting "Create dump file," which saves a full without terminating the process. For scripted or automated scenarios, the ADPlus.vbs script from the Windows Tools attaches the (e.g., CDB) to a process and captures dumps on exceptions or hangs. The ProcDump utility from , a command-line tool, enables conditional dumps based on CPU thresholds, usage, or exceptions, often used in production environments with commands like procdump -ma process.exe to generate a full dump and exit. Dump files use the .dmp extension and follow the Debug Dump format, compatible with tools like for analysis; this format includes headers with system information, followed by pages and exception details. Minidumps are partial, excluding most user-mode to reduce size, whereas complete dumps include all addressable . dumps, generated during system crashes, rely on pagefile.sys for temporary storage before writing to the final location, ensuring capture even if the boot volume is affected. Naming conventions for user-mode dumps default to the format ProcessName_pid_YYYYMMDD_HHMMSS.dmp and are stored in %LOCALAPPDATA%\CrashDumps for per-user crashes or %WINDIR%\Minidump for system-wide ones, with paths configurable via registry keys under HKEY_LOCAL_MACHINE\SOFTWARE\[Microsoft](/page/Microsoft)\Windows\[Windows Error Reporting](/page/Windows_Error_Reporting)\LocalDumps. dumps are typically saved as MEMORY.DMP in the %SystemRoot% directory, with options to specify custom paths in advanced . logs, such as those under Application or sources, record triggers with details like fault offsets to correlate with dump files. Kernel-mode dumps differ from user-mode ones in scope and triggers: kernel dumps address system-wide issues like driver faults during BSODs, capturing address space, loaded modules, and processor states via the page file, while user-mode dumps target individual application exceptions without affecting the OS . In virtualized environments like , host-initiated dumps for guest VMs use tools such as VMConnect or cmdlets (e.g., Get-VM | Stop-VM -Force) combined with ProcDump to capture guest memory without direct guest access, supporting diagnostics in cloud-integrated setups like Azure Virtual Machines. Brief comparisons to core dumps highlight Windows' emphasis on configurable partial captures over full ELF-based snapshots.

Mainframe and Other Legacy Systems

In systems, successors to OS/360 such as and , core dumps are primarily generated as (Supervisor Call) dumps, which capture the virtual storage state of an or the entire system upon error detection. These dumps can be initiated programmatically via the SDUMP macro from recovery routines like functional recovery routines (FRRs) or ESTAE exits, or manually through operator commands such as the DUMP console command. The resulting dump data is written to sequential datasets named SYS1.DUMPxx, where "xx" is a two-digit suffix (up to 100 such datasets possible), allocated on direct-access storage devices (DASD) and managed via the DUMPDS command for allocation, clearing, and resource specification. These datasets support secondary extents to handle large dumps, ensuring comprehensive capture without overflow, and are cleared post-analysis to reuse space. Dump files in these environments follow specific naming and storage conventions, often titled "IEFDUMP" followed by a (e.g., IEFDUMP 20241109 120000) within the dataset, reflecting the dump utility from OS/360 support programs. Storage can be sequential for full system dumps or partitioned for targeted address spaces, with data encoded in for text and packed decimal for numeric fields to align with mainframe hardware architecture. A key structural element is the Prefixed Save Area (), a fixed 8KB block at the start of system dumps that records critical hardware and software state, including processor status, interruption codes, and control registers, aiding in post-mortem reconstruction of the failure context. Triggers for these dumps include abnormal terminations (ABENDs), such as system completion code S0C4 indicating a protection exception from invalid memory access, which automatically invokes dump processing unless suppressed. Analysis of mainframe core dumps relies on tools like the Interactive Problem Control System (IPCS), an interactive utility integrated into z/OS for formatting and navigating dump contents, including parsing ABEND details, storage traces, and control blocks without requiring offline processing. For conditional dumping in MVS environments, SLIP (Serviceability Level Indication Processing) traps allow operators to set event-based triggers—such as specific ABEND codes, storage alterations, or program interruptions—that activate dumps only under defined criteria, reducing overhead in high-volume production systems. In other legacy systems like OpenVMS (formerly VMS), core dumps are captured as .DMP files, typically SYS$SYSTEM:SYSDUMP.DMP for system-wide failures, storing physical memory contents, error log buffers, and processor registers in a selective or full format configurable via system parameters. Over time, the reliance on mainframe core dumps has diminished with migrations to distributed and cloud architectures, where enhancements—such as improved with containerized environments in versions post-2.5—facilitate cross-platform diagnostics, though traditional and SLIP mechanisms persist for enterprise .

Specialized Contexts

Space Missions

In software, core dumps serve as critical diagnostic tools for identifying faults in mission-critical environments, where remote analysis is essential due to the inability to physically . NASA's flight software, often built on the (RTOS), incorporates core dump capabilities to capture memory states during anomalies, enabling ground teams to reconstruct error conditions. For instance, supports automated core dump generation upon exceptions like segmentation faults, which has been integral to NASA's deep space missions for post-anomaly debugging. The (ESA) employs , an open-source RTOS, in satellite flight software to handle radiation-induced faults, such as single-event upsets (SEUs) that can lead to software crashes. supports mechanisms tested in ESA robustness evaluations for space hardware, ensuring reliability in radiation-heavy orbits. As of 2023, has been qualified for ECSS Criticality Category C and D in configuration and used in missions like the spacecraft for payload data handling. Space missions face unique challenges with core dumps due to constrained resources. Limited onboard storage—often in the megabyte range for —forces selective dumping of only essential memory regions, while real-time constraints prohibit full dumps that could interrupt critical operations like attitude control. Telemetry downlink bandwidth, typically limited to kilobits per second during ground passes, requires compressing or prioritizing dump data for transmission, as seen in missions relying on intermittent contacts. Notable case studies highlight these applications. More recently, NASA's Perseverance rover, launched in 2021, uses VxWorks-based systems with diagnostic telemetry for fault isolation during surface operations. The Consultative Committee for Space Data Systems (CCSDS) protocols standardize this process, defining packet formats for reliable downlink of diagnostic data, including core dumps, integrated with onboard health monitoring to ensure interoperability across missions. As of 2025, the emphasizes core dumps for enhancing software reliability in the , 's planned orbital outpost. The Gateway's flight software, leveraging 's Core Flight System (cFS) framework, incorporates dump mechanisms to capture radiation and autonomy faults, supporting long-duration lunar operations amid evolving hardware like next-generation processors. This builds on historical practices, such as the 2024 Voyager 1 anomaly resolution, where a commanded core dump via pinpointed a faulty chip in the flight data subsystem after 46 years in space.

Embedded and Real-Time Systems

In embedded and real-time systems, core dumps are adapted to accommodate severe resource constraints, such as limited RAM (often 64 KB or less) and the absence of traditional filesystems, prioritizing minimal overhead to maintain system determinism and performance. Unlike full memory captures in desktop environments, these systems employ mini-dumps or task snapshots that record essential state information like CPU registers, stack traces, and select memory regions, enabling postmortem debugging without exhausting available resources. For instance, in FreeRTOS-based applications on microcontrollers like STM32, crash dumps are limited to task contexts and saved via custom handlers to avoid full RAM snapshots that could exceed heap limits of 8-60 KB. Triggers for core dumps in these environments often rely on hardware mechanisms to ensure reliability in timing-critical scenarios. Hardware watchdogs, which reset the system if not periodically fed, can be configured to invoke a software handler before reset, capturing a snapshot of the current task state for analysis. Non-maskable interrupts (NMIs) on microcontrollers like ARM Cortex-M serve similar purposes, halting execution on faults such as hard faults or bus errors to dump registers and stack without interference from maskable interrupts, preserving real-time behavior. These approaches draw briefly from Unix-like fault handling but are streamlined for embedded constraints, focusing on interrupt-driven capture rather than process signals. The format of core dumps in embedded systems deviates from standard ELF binaries, using custom binary blobs optimized for extraction via debug interfaces. Without filesystems, dumps are typically stored in non-volatile flash memory partitions or output over serial ports (e.g., UART) for retrieval, with sizes constrained to kilobytes to fit flash sectors. JTAG or SWD interfaces allow direct access to these blobs during debugging, enabling tools like GDB to reconstruct state from register dumps and partial memory. In Zephyr RTOS, for example, the core dump module supports configurable backends that serialize CPU registers and thread stacks into compact formats for offline analysis on IoT devices. Practical examples illustrate these adaptations in high-stakes applications. In automotive electronic control units (ECUs) compliant with , diagnostic event managers log fault snapshots—including task states and error codes—to for post-crash reconstruction, aiding in identifying software faults contributing to vehicle incidents without full system halts. For devices running OS on platforms like , core dumps capture fatal errors during connectivity tasks, stored to and retrieved via over-the-air updates, supporting the 2020s surge in connected devices. Security considerations are paramount, as dumps may expose like proprietary algorithms in resource-limited devices. Encryption of dump data using before storage in protects sensitive contents, ensuring that even if extracted, the information remains unintelligible without keys managed via secure elements. This practice has gained prominence amid the expansion, where standards emphasize secure diagnostics to prevent . Trade-offs in dump implementation balance utility against real-time constraints, often favoring partial dumps of registers and active task stacks over comprehensive memory images to minimize capture (typically under 1 ms) and footprint. Full dumps risk performance degradation or system instability in RTOS schedulers, whereas selective snapshots suffice for identifying common faults like stack overflows, as seen in FreeRTOS hard fault handlers.

References

  1. [1]
    core(5) - Linux manual page - man7.org
    Instead of being written to a file, the core dump is given as standard input to the program.
  2. [2]
    Core Memory - The Centre for Computing History
    Magnetic core memory, or ferrite-core memory, is an early form of random ... This is most obvious in the naming of the core dump, which refers to the ...Missing: origin | Show results with:origin
  3. [3]
    Memory dump file options - Windows Server - Microsoft Learn
    May 1, 2025 · A complete memory dump records all the contents of system memory when your computer stops unexpectedly. A complete memory dump may contain data ...Complete Memory Dump · Kernel Memory Dump · Small Memory Dump
  4. [4]
    A Guide to Core Dump Handling in OpenShift - Red Hat
    Jun 7, 2022 · According to the manual, this is the official definition: The default action of certain signals is to cause a process to terminate and produce a ...Missing: Unix | Show results with:Unix
  5. [5]
    core(5) - Linux manual page
    ### Summary of Core Dump File (core.5)
  6. [6]
    [PDF] ECE 152 Introduction to Computer Architecture - Duke University
    • Preceded by magnetic “core” memory (1950s). • Core more closely resembles today's disks than memory. • “Core dump” is legacy terminology. • And by mercury ...
  7. [7]
    Introduction to Processes | Operating Systems: updated 11 Jan 2024
    Process Memory Layout¶ · Text - machine instructions of a program. · Data - initialized static data and constants · BSS - uninitialized static data · Heap - dynamic ...
  8. [8]
    Program Error Signals (The GNU C Library) - Sourceware
    The GNU C Library does provide this extra argument, but the value is meaningful only on operating systems that provide the information (BSD systems and GNU ...
  9. [9]
    Bits of History - IEEE Spectrum
    Even today, in the age of semiconductor memory, some people refer to a file that holds the working memory's contents after a computer crash as a “core dump.” ...
  10. [10]
    Magnetic-Core Memory - Engineering and Technology History Wiki
    Magnetic-core memory, first used in the Whirlwind, is a wire mesh that stores binary information magnetically, enabling random access and real-time processing.<|separator|>
  11. [11]
    The IBM System/360
    Launched on April 7, 1964, the System/360 was so named because it was meant to address all possible types of users with one unified software-compatible ...Missing: dump | Show results with:dump
  12. [12]
    MULTICS SYSTEM-PROGRAMMERS 1 MANUAL Identification GE ...
    This package will be used as a machine language debugging tool for examining the GE 645 core memory after crashes of the initial versions of the Multics.
  13. [13]
    [PDF] The UNIX Time- Sharing System
    The UNIX Time-. Sharing System. Dennis M. Ritchie and Ken Thompson. Bell Laboratories. UNIX is a general-purpose, multi-user, interactive operating system for ...
  14. [14]
    [PDF] IEEE standard portable operating system interface for computer ...
    IEEE Std 1003.1-1988 is the first of a group of proposed standards known col¬ loquially, and collectively, as POSIXt. The other POSIX standards are described in ...Missing: dump | Show results with:dump
  15. [15]
    History of Operating Systems
    - Users debugged programs by inspecting a core dump, which was a hexadecimal listing of the exact contents of memory. - The operator could batch jobs or ...<|separator|>
  16. [16]
    signal(7) - Linux manual page - man7.org
    (On some other UNIX systems the default action for SIGXCPU and SIGXFSZ is to terminate the process without a core dump.) Linux 2.4 conforms to the POSIX.1-2001 ...Sigaction(2) · Signal(2) · Kill(2)
  17. [17]
  18. [18]
  19. [19]
    gcore(1) - Linux manual page - man7.org
    Generate core dumps of one or more running programs with process IDs pid1, pid2, etc. A core file produced by gcore is equivalent to one produced by the kernel ...
  20. [20]
    abort - cppreference.com
    ### Summary of `abort()` Function and Core Dumps
  21. [21]
  22. [22]
    Core File Generation (Debugging with GDB) - Sourceware
    GDB has a special command for that. generate-core-file [ file ]; gcore [ file ]. Produce a core dump ...
  23. [23]
    Chapter 21. Debugging a Crashed Application | Developer Guide
    Both kernel core dumps ( kdump ) and manual core dumps ( gcore , GDB) do not dump memory marked this way. In some cases, it is necessary to dump the whole ...
  24. [24]
    GDB - Core Dumps — Debugging documentation
    When a program crashes, the memory and some state information at that point can be placed in a core dump file. A common cause of a core dump generation is a ...Missing: definition | Show results with:definition
  25. [25]
    Core dump debug | CLion Documentation - JetBrains
    Aug 13, 2025 · CLion supports postmortem debug with core dump (macOS, Linux) and minidump (Windows) files. These files are copies of process memory captured by the system.
  26. [26]
    Debug C++ in Visual Studio Code
    To debug a memory dump, open your launch.json file and add the coreDumpPath (for GDB or LLDB) or dumpPath (for the Visual Studio Windows Debugger) property to ...
  27. [27]
    Threads (Debugging with GDB) - Sourceware
    GDB debugs multi-threaded programs using commands like 'thread thread-id' and 'info threads', focusing on one thread at a time, and has thread-specific ...
  28. [28]
    Debugging Options (Using the GNU Compiler Collection (GCC))
    To tell GCC to emit extra information for use by a debugger, in almost all cases you need only to add -g to your other options.
  29. [29]
    Clang Compiler User's Manual — Clang 22.0.0git documentation
    This document describes important notes about using Clang as a compiler for an end-user, documenting the supported features, command line options, etc.
  30. [30]
    [PDF] System z Mean Time to Recovery Best Practices - IBM Redbooks
    One prerequisite to understanding the impact of any MTTR-related changes you might have made is to understand what other changes have occurred in the ...
  31. [31]
    Full Memory Crash Dumps vs. Raw Dumps: Which Is Best for ...
    Jan 12, 2023 · Crash/core dump files are the foundation of troubleshooting for Microsoft Windows, Linux, and BSD systems. They are composed of a file header, ...
  32. [32]
    Cisco IOS Software Forensic Data Collection Procedures
    Obtaining a core dump as outlined in step five below is the preferred method of gathering information for analysis in IOS device forensics. However, there may ...
  33. [33]
    Cisco Router Forensics | SANS Institute
    Nov 24, 2008 · Core dumps are useful as they contain the complete image of the Cisco device at an instant. They can even be used to extract network traffic ...
  34. [34]
    Linux Crash Dump Flaws Expose Passwords, Encryption Keys
    May 30, 2025 · The newly disclosed flaws highlight how core dump handlers are an overlooked attack surface in Linux environments, said Jason Soroko, senior ...
  35. [35]
    Memory Leak (and Growth) Flame Graphs - Brendan Gregg
    Dec 27, 2017 · While interposing or core dump techniques provide invaluable detail for diagnosing memory leaks, neither of them can easily be used on a growing ...
  36. [36]
  37. [37]
    Core Dump Files - TechDocs - Broadcom Inc.
    Core Dump Files. Last Updated April 9, 2025. Core dumps on an ESXi host that has encryption mode enabled are always encrypted. You can decrypt ...
  38. [38]
    What's Inside a Linux Kernel Core Dump - Oracle Blogs
    Feb 8, 2024 · Some core dump formats can represent the virtual address space as part of their memory encoding. In other cases, the core dump simply represents ...Missing: Unix | Show results with:Unix
  39. [39]
    Unwinding a Stack by Hand with Frame Pointers and ORC | linux
    Mar 22, 2022 · Increasingly, the community is migrating to an in-kernel debug information format called ORC, which enables the kernel to unwind stacks without ...
  40. [40]
    Frame pointers: Untangling the unwinding | Red Hat Developer
    Jul 31, 2023 · Explore how frame pointers can be used to unwind Linux kernel stack traces and examine different ways to obtain a backtrace, ...
  41. [41]
    Memory mappings, core dumps, GDB and Linux | Yet Another Me
    Apr 5, 2015 · This special file, generated by the Linux kernel when you read it, contains detailed information about each memory mapping of a certain process.
  42. [42]
    LLDB
    LLDB is the default debugger in Xcode on macOS and supports debugging C, Objective-C and C++ on the desktop and iOS devices and simulator. All of the code ...Tutorial · GDB to LLDB command map · Symbols on macOS · LLDB Build PageMissing: core analysis
  43. [43]
    None
    Nothing is retrieved...<|separator|>
  44. [44]
    Analyze a Kernel-Mode Dump File by Using WinDbg - Microsoft Learn
    Jan 24, 2025 · You can analyze kernel-mode memory dump files by using WinDbg. Start WinDbg. Dump files generally end with the extension .dmp or .mdmp.
  45. [45]
    !analyze (WinDbg) - Windows drivers | Microsoft Learn
    Oct 25, 2023 · !analyze provides information about UMDF verifier failures and unhandled exceptions. This functionality is available when performing live kernel-mode debugging.Missing: core | Show results with:core
  46. [46]
    AddressSanitizer — Clang 22.0.0git documentation - LLVM
    AddressSanitizer is a fast memory error detector. It consists of a compiler instrumentation module and a run-time library. The tool can detect the following ...Missing: core | Show results with:core
  47. [47]
  48. [48]
    getsentry/coredump-uploader - GitHub
    This utility can upload core dumps to Sentry. It can either upload a single core dump or watch a folder for incoming core dumps to automatically upload them ...
  49. [49]
    pwndbg/pwndbg: Exploit Development and Reverse ... - GitHub
    Pwndbg is a Python module which can be loaded into GDB or run as a REPL interface for LLDB. It provides a suite of utilities and enhancements that fill the gaps ...Pwndbg · Releases 21 · Issues 190 · Pull requests 15
  50. [50]
  51. [51]
  52. [52]
    Program Header
    ### Summary of ELF Program Headers Relevant to Core Dumps (PT_NOTE, PT_LOAD)
  53. [53]
    Minidump Files - Win32 apps - Microsoft Learn
    Jul 14, 2025 · Minidump files are small, user-mode files containing a subset of crash dump info, used for basic debugging and created by Microsoft Office and ...
  54. [54]
    MINIDUMP_HEADER (minidumpapiset.h) - Win32 - Microsoft Learn
    Feb 22, 2024 · The MINIDUMP_HEADER contains header information for a minidump file, including fields like Signature, Version, NumberOfStreams, and ...Syntax · Members
  55. [55]
    How to set process core file names - Red Hat Customer Portal
    Aug 5, 2024 · In current linux kernels, the kernel.core_pattern tunable is used to define a file name for core dumps.Missing: conventions | Show results with:conventions
  56. [56]
    core dump file - Ubuntu Manpage
    To do this, systemd(1) employs the core_pattern feature that allows piping core dumps to a program. ... For example, to extract the core dump for PID 2955 ...
  57. [57]
    coredump.conf - Freedesktop.org
    Added in version 215. MaxUse= , KeepFree= ¶. Enforce limits on the disk space, specified in bytes, taken up by externally stored core dumps. Unit suffixes ...
  58. [58]
    systemd-coredump - Freedesktop.org
    The default is to delete core dumps after a few days; see the above file for details. Disabling coredump processing¶. To disable potentially resource-intensive ...Missing: quotas | Show results with:quotas
  59. [59]
    How to enable core file dumps when an application crashes or ...
    Aug 20, 2024 · The core_pattern below is just an example. Raw. kernel.core_pattern=/var/crash/core_%e_%p_%h_%t kernel.core_uses_pid=1 fs.suid_dumpable=1.
  60. [60]
    5.3 Disabling Core Dumps
    You can restrict access to core dumps to certain users or groups, as described in the limits.conf(5) manual page.Missing: production | Show results with:production
  61. [61]
    Documentation for /proc/sys/kernel/ — The Linux Kernel documentation
    ### Summary of `core_uses_pid` and `core_pattern` for Core Dump Naming in Linux
  62. [62]
    Apport - Ubuntu Wiki
    Apport is a system which: intercepts crashes right when they happen the ... If you want to make crash reports of your software even more useful when being ...
  63. [63]
    Changes/coredumpctl - Fedora Project Wiki
    Oct 24, 2017 · In Fedora 23 and earlier releases, ABRT created core dumps in the crashing process's current working directory if the appropriate ulimit is ...Enable systemd-coredump by... · Detailed Description · Scope
  64. [64]
    Linux Coredumps (Part 1) - Introduction | Interrupt - Memfault
    Feb 14, 2025 · Linux coredumps use a subset of the ELF format. The coredump itself is a snapshot of the crashing process' memory, as well as some metadata to ...Missing: POSIX | Show results with:POSIX
  65. [65]
    User-mode Dump Files - Windows drivers | Microsoft Learn
    Jan 24, 2025 · Sometimes, a minidump file is moderately large and includes the full memory and handle table. Other times, the minidump file is much smaller.
  66. [66]
    Collecting User-Mode Dumps - Win32 apps | Microsoft Learn
    Jul 18, 2024 · Windows 11 includes a new feature in Task Manager that allows users to create live memory dumps for both kernel and user-mode processes. This ...Task Manager Enhancements · Procdump Improvements · Debugging Enhancements
  67. [67]
    Varieties of Kernel-Mode Dump Files - Windows drivers
    Jan 24, 2025 · There are five settings for kernel-mode crash dump files: Complete Memory Dump · Kernel Memory Dump · Small Memory Dump.
  68. [68]
    Generate a kernel or complete crash dump - Windows Client
    Jun 17, 2025 · A manual kernel or complete memory dump file is useful when you troubleshoot several issues because the process captures a record of system memory at the time ...Enable Memory Dump Setting · Manually Generate A Memory... · Use Nmi
  69. [69]
    Disable or enable Dr. Watson program - Windows Server
    Jan 15, 2025 · Describes how to disable and re-enable the Dr. Watson program for Windows.Missing: memory | Show results with:memory
  70. [70]
    Fault Tolerant Heap - Win32 apps - Microsoft Learn
    Apr 27, 2021 · Fault Tolerant Heap logs information when the service starts, stops, or starts mitigating problems for a new application. To view this ...Missing: dumps | Show results with:dumps
  71. [71]
  72. [72]
    ProcDump - Sysinternals - Microsoft Learn
    Nov 3, 2022 · ProcDump is a command-line utility whose primary purpose is monitoring an application for CPU spikes and generating crash dumps during a spike.
  73. [73]
    .dump (Create Dump File) - Windows drivers | Microsoft Learn
    Oct 25, 2023 · Although "m" stands for "minidump", the dump files created by using this MiniOption can vary in size from very small to very large. By ...Missing: specification | Show results with:specification
  74. [74]
    Read small memory dump files - Windows Client - Microsoft Learn
    Jan 15, 2025 · This article describes how to examine a small memory dump file. A small memory dump file can help you determine why your computer failed.Small Memory Dump · Debugging Tools for Windows · Use Dumpchk.exe to check...
  75. [75]
    Hyper-V virtualization in Windows Server and Windows
    Aug 5, 2025 · Learn about Hyper-V virtualization technology to run virtual machines, its key features, benefits, and how to get started in Windows Server ...Benefits of Hyper-V · Technical capabilities of Hyper-V
  76. [76]
    SVC dump - IBM
    An SVC dump provides a representation of the virtual storage for the system when an error occurs. Typically, a system component requests the dump from a ...Missing: 360 | Show results with:360
  77. [77]
    Specifying SYS1.DUMPxx data sets - IBM
    The data sets are on direct access only. The maximum number of SYS1.DUMPxx data sets an installation can have is 100. The direct access data set must be on a ...Missing: mainframe | Show results with:mainframe
  78. [78]
    DUMPDS command - IBM
    Use the DUMPDS command to: Change the system's list of dump data sets and resources; Clear full SYS1.DUMP data sets and make them available for dumps ...
  79. [79]
    [PDF] IBM System/360 Operating System: Programmer's Guide to Debugging
    The publication is divided into three principal parts: "Section 1: Operating. System Concepts;" "Section 2: Interpreting. Dumps;" and "Section 3: Tracing Aids,".
  80. [80]
    Steps for obtaining the abend code - IBM
    For the abend code, look for AB/S0hhh in the symptoms under the heading SEARCH ARGUMENT ABSTRACT, if present. For the reason code, look for PRCS/hhhhhhhh in ...
  81. [81]
    [PDF] z/OS MVS IPCS Commands - IBM
    May 25, 2021 · The interactive problem control system (IPCS) is a tool provided to aid in diagnosing software failures. IPCS provides formatting and ...
  82. [82]
    Setting a SLIP trap - IBM
    The SLIP commands used to set SLIP traps are described in the following topics: Structure of a SLIP SET command. Events; Conditions; Actions; Types of SLIP ...
  83. [83]
    Dump File - VSI OpenVMS Wiki
    Nov 12, 2019 · A system dump file is a file to which the system writes the contents of the error log buffers, processor registers, and memory when a system failure occurs.Location · Dump File on an Alternate Disk · Settings
  84. [84]
  85. [85]
    [PDF] VxWorks Device Driver Developer's Guide, 6.6
    Nov 13, 2007 · performing an actual core dump save. For more information on core dump, see the. VxWorks Kernel Programmer's Guide: Error Detection and ...
  86. [86]
    (PDF) The Mars Rover Spirit FLASH anomaly - ResearchGate
    The Mars Exploration Rover "Spirit" suffered a debilitating anomaly that prevented communication with Earth for several anxious days. With the eyes of the ...Missing: core dump
  87. [87]
    [PDF] Separation kernel robustness testing: the xtratum case study
    Abort - A test should never crash the testing task: abort failures cause an irregular task termination causing a core dump. ... [13] Critical Software , "RTEMS ...
  88. [88]
    [PDF] ECSS-E-HB-20-40A(11October2023).pdf - Space engineering
    Oct 11, 2023 · on the known radiation environment conditions and/or how many radiation induced faults can be tolerated along the life of the space mission ...<|separator|>
  89. [89]
    [PDF] Mission Planning and Operational Constraints and Their Resolution ...
    The main challenges are limited transfer of telecommands and limited downlink capabilities; also the cloud coverage in the target area - for optical sensors - ...
  90. [90]
    Reliable Commanding and Telemetry Operations Using CFDP
    During the cruise phase, a large portion of SPP's real-time contacts are taken at very low telemetry downlink rates (< 80 bps) with quite often several days ...
  91. [91]
    Lewis Experts Supported a Critical Repair on Hubble in the 1990s
    Jan 13, 2020 · Shortly after Hubble's deployment in April 1990, scientists discovered an improper curvature of the lens that caused the new telescope to produce blurry images.
  92. [92]
    [PDF] National Aeronautics and Space Administration (NASA) The Hubble ...
    Aug 4, 2025 · Approximately two months after launch, on June 21, 1990, the Hubble Space. Telescope Project Manager announced that there was a major flaw in ...Missing: dumps | Show results with:dumps
  93. [93]
    [PDF] Evolution of NASA's core Flight System (cFS) for the Mission of ...
    Next generation hardware is coming, enabling computationally intensive science missions not previously possible. Our software is evolving to be ready for this ...Missing: dump | Show results with:dump
  94. [94]
    NASA persuades a 46-year-old Voyager 1 system to fetch a core dump
    Apr 7, 2024 · On the bright side - NASA persuades a 46-year-old Voyager 1 system to fetch a core dump. Thread starter lizkat; Start date Apr 7, 2024 ...
  95. [95]
    FreeRTOS memory requirements - Kernel
    Sep 29, 2022 · I have built FreeRTOS projects and put them in processors with only 8k RAM and 32k Flash, so you CAN build small systems. It really depends on ...
  96. [96]
    Core Dump - ESP32 - — ESP-IDF Programming Guide v5.5.1 ...
    A core dump is a set of software state information that is automatically saved by the panic handler when a fatal error occurs.Missing: limited | Show results with:limited
  97. [97]
    A Guide to Watchdog Timers for Embedded Systems
    ### Summary: Watchdog Triggers and Crash Dumps in Embedded Systems (FreeRTOS)
  98. [98]
    Core Dump - Zephyr Project Documentation
    The core dump module enables dumping the CPU registers and memory content for offline debugging. This module is called when a fatal error is encountered.<|separator|>
  99. [99]
    Core Dump: A Powerful Tool for Debugging Programs in Zephyr with ...
    Jul 27, 2023 · Zephyr OS provides support for multiple core dump backends, including the logging backend. The logging backend dumps core dumps to the UART, ...
  100. [100]