Computer Technos

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Saturday, 20 March 2010

Crash Dump Generation

Posted on 11:12 by Unknown
When the system boots, it checks the crash dump options configured by reading the registry value HKLM\SYSTEM\CurrentControlSet\Control\CrashControl. If a dump is configured, it makes a copy of the disk miniport driver used to write to the boot volume in memory and gives it the same name as the miniport with the word “dump_” prefixed. It also checksums the components involved with writing a crash dump—including the copied disk miniport driver, the I/O manager functions that write the dump, and the map of where the boot volume’s paging file is on disk—and saves the checksum. When KeBugCheckEx executes, it checksums the components again and compares the new checksum with that obtained at the boot. If there’s not a match, it does not write a crash dump, because doing so would likely fail or corrupt the disk. Upon a successful checksum match, KeBugCheckEx writes the dump information directly to the sectors on disk occupied by the paging file, bypassing the file system driver and storage driver stack (which might be corrupted or even have caused the crash).

When the Session Manager (SMSS) re-initializes the page file during the boot process, it calls the function SmpCheckForCrashDump, which looks in the boot volume’s current paging file (created by the kernel during the boot process) to see whether a crash dump is present. SMSS then checks whether the target dump file is on a different volume than the paging file. If so, it renames the paging file to a temporary dump file name, Dumpxxx.tmp (where xxx is the current low value of the system’s tick count), and truncates the file to the size of the dump data. (This information is stored in the header on top of each dump file.) It also removes both the hidden and system attributes from the file. SMSS then creates the volatile registry
key HKLM\SYSTEM\CurrentControlSet\Control\CrashControl\MachineCrash and stores the temporary dump file name in the value “DumpFile”. It then writes a REG_DWORD to the “TempDestination” value indicating whether the dump file location is only the temporary destination. If the paging file is on the same volume as the destination dump file, a temporary dump file isn’t used, and the paging file is directly renamed to the dump file name. In this case, the DumpFile value will be %SystemRoot%\Memory.dmp and TempDestination will be 0.

Later in the boot, Wininit checks for the presence of the MachineCrash key, and if it exists, Wininit launches WerFault, which reads the TempDestination and DumpFile values and either renames or copies the temporary file to its target location (typically %System Root%\ Mem ory.dmp, unless configured otherwise) depending on whether the target is on the same volume as the Windows directory. WerFault then writes the final dump file name to the FinalDumpFile Location value in the MachineCrash key. To support machines that might not have a paging file or no paging file on the boot volume, for example on systems that boot from a SAN or read-only media, Windows also supports the use of a dedicated dump file that is configured in the DedicatedDumpFile and DumpFileSize values under the HKLM\SYSTEM\CurrentControlSet\Control\CrashControl registry key. When a dedicated dump file is specified, the crash dump driver (%SystemRoot%\System32\Drivers\Crashdmp.sys) creates the dump file of the required size and writes the crash data there instead of the paging file. If a full or kernel dump is configured but there is not enough space on the target volume to create the dedicated dump file of the required size, the system falls back to writing a minidump.

Source of Information : Microsoft Press Windows Internals 5th Edition
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in Windows | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Using Windows 7 Ease of Access Tools
    If you have difficulty using a mouse or typing, have slightly impaired vision, or are deaf or hard of hearing, you can adjust the appearance...
  • Advanced Crash Dump Analysis - Stack Trashes
    Stack overrun or stack trashing typically results from a buffer overrun or underrun or when a driver passes a buffer address located on the ...
  • Windows 7 Data Security Enhancements
    Maintaining data integrity on the PC is a constant job for IT people. Independent businesspeople without the aid of an IT professional worry...
  • Why were parallel databases a limited success?
    As with any new technology, time is needed for development and experience in tuning for good performance and acceptable stability. Recall, a...
  • Why Does Windows Crash?
    Windows crashes (stops execution and displays the blue screen) for many possible reasons. A common source is a reference to a memory address...
  • Windows 7 Entertainment
    A few odds and ends in the entertainment department are worth noting. Though this is not the full list, these are the notables: • Media Cent...
  • Windows Malware Defense-in-Depth
    Defense-in-depth is a proven technique of layered protection that reduces the exposure of vulnerabilities. For example, you might design a n...
  • Enterprise Voice Benefits
    Perhaps some of the most tangible, new, and exciting benefits of Lync Server are those related to the Enterprise Voice set of features. With...
  • Berkeley Motes
    The Berkeley motes are a family of embedded sensor nodes sharing roughly the same architecture. Let us take the MICA mote as an example. The...
  • Windows 7 Hardware Requirements
    Let’s start with the basics. The principal (and minimal) hardware requirements for running Windows 7 are as follows: With Windows 7, Microso...

Categories

  • Access 2010
  • BlackBerr
  • BlackBerry
  • Computer Science
  • Cyber Security
  • Exchange Server 2010
  • File Utilities
  • Foursquare
  • Google
  • Hardware
  • Internet
  • iPad
  • Linux
  • Lync Server
  • Microsoft Virtualization
  • Mobile Web
  • Networking
  • News
  • Security
  • Server Architectures
  • Smartphone
  • Ubuntu Linux
  • Windows
  • Windows 7
  • Windows Home Server
  • Windows Security
  • Windows Server 2008
  • Windows Server 2008 Hyper-V
  • Windows XP
  • Wireless

Blog Archive

  • ►  2012 (66)
    • ►  August (5)
    • ►  July (9)
    • ►  June (9)
    • ►  May (8)
    • ►  April (9)
    • ►  March (9)
    • ►  February (8)
    • ►  January (9)
  • ►  2011 (85)
    • ►  December (5)
    • ►  November (6)
    • ►  October (7)
    • ►  September (8)
    • ►  August (9)
    • ►  July (9)
    • ►  June (7)
    • ►  May (7)
    • ►  April (4)
    • ►  March (6)
    • ►  February (8)
    • ►  January (9)
  • ▼  2010 (230)
    • ►  December (13)
    • ►  November (3)
    • ►  October (2)
    • ►  September (10)
    • ►  August (31)
    • ►  July (32)
    • ►  June (23)
    • ►  May (2)
    • ►  April (21)
    • ▼  March (32)
      • When Windows won’t start at all
      • Advanced Crash Dump Analysis - When There Is No Cr...
      • Advanced Crash Dump Analysis - Hung or Unresponsiv...
      • Advanced Crash Dump Analysis - Stack Trashes
      • Advanced Crash Dump Analysis
      • Buffer Overrun, Memory Corruptions, and Special Pool
      • Code Overwrite and System Code Write Protection
      • Using Crash Troubleshooting Tools
      • Basic Crash Dump Analysis
      • Online Crash Analysis
      • Windows Error Reporting
      • Crash Dump Generation
      • Crash Dump Files
      • Troubleshooting Crashes
      • The Blue Screen
      • Why Does Windows Crash?
      • Understanding Exchange Server Messaging roles
      • Deploying Exchange Server 2010
      • Understanding how Exchange routes Messages
      • Understanding how Exchange Stores Information
      • Exchange Server Security Groups
      • Exchange Server Authentication and Security
      • Exchange Server 2010 and Your hardware
      • Exchange Server 2010 Administration Overview
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
      • Windows 7 Architectural and Internal Security Impr...
    • ►  February (28)
    • ►  January (33)
  • ►  2009 (119)
    • ►  December (33)
    • ►  November (31)
    • ►  October (35)
    • ►  September (20)
Powered by Blogger.

About Me

Unknown
View my complete profile