Windows DevCenter    
 Published on Windows DevCenter (
 See this if you're having trouble printing code examples

Inside Vista's New Diagnostic Tools

by Mitch Tulloch

Despite conventional wisdom on the subject, new versions of Windows have made big improvements in reliability and performance. This is particularly true of Windows XP, which is rock-solid compared to the earlier Windows 2000. I'm hoping that Windows Vista will bring even greater improvements in these areas, and although only time will tell for sure, things look good so far.

What makes Vista a more reliable desktop operating system than XP? Built-in diagnostics, for one thing. Vista now includes a diagnostic architecture that makes it more efficient at detecting and identifying problems and repairing them automatically if possible. If automatic repair isn't possible, Vista will lead you through the process of trying to fix the problem yourself. Not all of this has been exposed in the latest builds, but I thought it would be worthwhile to examine some of what's currently available.

Memory Diagnostics

If Vista detects a memory problem in your system such as a faulty RAM module, it will display a notification asking if you want Vista to try to diagnose the problem. You can also manually run this tool anytime; it's named MdSched.exe, and it's found in the %SystemRoot%\System32 directory. You'll get the usual User Account Control (UAC) prompt when you try to run it. Once you click Continue, the tool opens and offers you two options: restarting immediately and checking for problems, or running next time you reboot your machine (the memory diagnostic tool must run at boot time). For a shortcut, just type "memory" in the Start Search box and Vista will display Memory Diagnostics Tool on the Start menu; hit Enter and the tool will open:

Figure 1
Figure 1. The Windows Memory Diagnostics Tool

Network Diagnostics

Vista also lets you check the integrity of your network connection using Windows Network Diagnostics. The usual way to run this check is to open Network Center and click the Diagnose Internet Connection link on the left (the GUI may still change for this). Vista will either identify the problem and try to fix it, or will suggest that you send an anonymous report to Microsoft to help them improve the product:

Figure 2
Figure 2. Checking a system for problems

Problem Reports and Solutions

One of the nice things about Vista is that you can actually see the details of these anonymous reports. To do this, open Control Panel, choose System and Maintenance, and click Problem Reports and Solutions. Or from the command line, you can run %SystemRoot%\System32\wercon.exe to do the same:

Figure 3
Figure 3. Tracking down system problems

From the Tasks menu, you can view your history of problem diagnosis attempts, rerun a check for a problem, and even see the details of one of your problem reports, such as the the one generated when we ran the network diagnostics tool above:

Figure 4
Figure 4. Delving into report details

If you want more control over your machine and don't want Vista to automatically check for solutions and advise you when it detects a problem, you can disable this functionality and have Vista ask you first before trying to fix things. To do this, click Change Settings under the Tasks menu in Problem Reports and Solutions:

Figure 5
Figure 5. Configuring how Vista performs diagnostics

You can also click Advanced Settings here to limit what program information is sent to Microsoft if you're paranoid. This feature is also useful if an application is reporting a problem when there isn't one.

Startup Repair

If you're having problems booting Vista, you can try using the Startup Repair tool. This tool is located on your Vista product DVD. To use it, insert the DVD, restart your machine, and choose View System Recovery Options (Advanced) from the menu. You'll need the username and password for an account on your machine. Then, select Startup Repair from the list of recovery tools, and hopefully things will fix themselves. If your machine is infected with a bad virus, however, the repair tool might not work and you may have to reinstall (or restore your computer from a CompletePC Backup system snapshot if you have Vista Business, Enterprise, or Ultimate edition.

Reliability Monitor

Finally, Vista includes a tool you can use to monitor the reliability of your system. To use this tool, you need to open a blank MMC console (type "mmc" in the Start Search box and accept the UAC prompt) and add the Reliability Monitor snap-in to your console:

Thumbnail, click for full-size image.
Figure 6. The reliability monitor snap-in (Click for full-size image)

This tool tracks hardware failures, operating system failures, application failures, and other events that may indicate problems with the stability of your machine. You can filter the display to show all events recorded on the computer or events for any one calendar day. A reliability index from 0 to 10 provides a quick indication of the health of your machine. You can also click directly on the graph to find out more about a specific problem. In the screenshot above, the graph shows that a "miscellaneous failure" occurred on May 8, and the System Stability Report information indicates that the nature of this failure was that the machine was not cleanly shut down.


This is only a small taste of Vista's built-in diagnostic capabilities. Stay tuned for more as the product solidifies and additional documentation about it becomes available.

Mitch Tulloch is the author of Windows 2000 Administration in a Nutshell, Windows Server 2003 in a Nutshell, and Windows Server Hacks.

Return to the Windows DevCenter.

Copyright © 2009 O'Reilly Media, Inc.