Not all Watson dumps are created equal (Watson part II)

The second installment of Watson will focus on the type of dump created during error reporting. Watson will chose one of the following depending on system settings and resources available – the significant difference between them is size required to process and store the dump.

Many Watson settings are stored in the registry, but the dump size is reserved during OEMInit:

extern DWORD dwNKDrWatsonSize;

void OEMInit (void)

{

dwNKDrWatsonSize = 0x20000

}

Generally, the more memory allocated here the more complete your Watson information will be – but you will be taking memory away from other applications so you need to be sensitive to the tradeoff. It is also worth mentioning that the larger number chosen here could prevent your device from storing a larger number of Watson dumps – sometimes less is more in this case.

Type of Dump File Size Description
Context dumps 4 KB - 64 KB.
  • Information about the crashing system
  • Exception that initiated the crash
  • Context record of the faulting thread
  • Module list, limited to the faulting threads of the owner process
  • Thread list, limited to the faulting threads of the owner process
  • Callstack of the faulting thread
  • 64 bytes of memory above and below the instruction pointer of the faulting thread
  • Stack memory dump of the faulting thread, truncated to fit a 64 KB limit
System dumps 64 KB - several MB
  • All information in a Context dump
  • Callstacks and context records for all threads
  • Complete module, process, and thread lists for the entire device
  • 2048 bytes of memory above and below the instruction pointer of the faulting thread.
  • Global variables for the process that was current at the time of the crash
Complete dumps All physical memory plus at least 64 KB
  • All information in a context dump
  • A complete dump of all used memory

Again, the PB help under Error Reporting is excellent and should be your official guide in understanding Watson and how it can help you debug stability issues.