Skip Links

Network World

  • Social Web 
  • Email 
  • Close

(Comma separation for multiple addresses)
Your Message:

How to solve Windows system crashes in minutes

By Dirk A. D. Smith , Network World , 04/19/2005
  • Share/Email
  • Tweet This
  • Comment
  • Print

Page 4 of 4

Analysis with lmv

The next step is to confirm the suspect's existence and find any details about him. Typing lm in the command line displays the loaded modules; v instructs the debugger to output in verbose (detail) mode, showing all known details for the modules. This is a lot of information. Locating the driver of interest can take a while, so simplify the process by selecting edit | Find.

Here's an example of output generated by the lmv command:

kd> lmv
 bf9b8000 bfa0dc00 VDriver  (no symbolic information)
 Loaded symbol image file: VDriver.dll
 Image path: \SystemRoot\System32\VDriver.dll
 Checksum: 00058BD5 Timestamp: Fri Sep 28 10:12:47 2001 (3BB4855F)
 File version:  5.20.10.1066
 Product version: 5.20.10.1066
 File flags:  8 (Mask 3F) Private
 File OS:   40004 NT Win32
 File type:  3.4 Driver
 File date:  00000000.00000000
 CompanyName:  Video Technologies Inc.
 ProductName:  VDisplay Driver for Windows XP
 InternalName:  VDriver.dll
 OriginalFilename: VDriver.dll
 ProductVersion: 5.20.10.1066
 FileVersion:  5.20.10.1066
 FileDescription: Video Display Driver
 LegalCopyright: Copyright© Video Technologies Inc. 2000-2004
 Support:   (800) 555-1212

Use File | Find to locate the suspect driver. If the vendor was thorough, complete driver/vendor detail is revealed

The amount of information you see depends upon the driver vendor. Some vendors put little information in their files; others, such as Veritas, put in everything from the company name to a support telephone number! If a vendor is thorough, the results from the command will be similar to those shown here.

After you find the vendor's name, go to its Web site and check for updates, knowledge base articles, and other supporting information. If such items don't exist or resolve the problem, contact them. They may ask you to send along the debugging information (it is easy to copy the output from the debugger into an e-mail message or Word document), or they may ask you to send them the memory dump (zip it up first, both to compress it and protect data integrity).

Not aways easy

Finding out what went wrong is often a simple process, but it isn't always so. At least 50% of the time (often 70%), the debugger makes the reason for a crash obvious. But sometimes the information it provides is misleading or insufficient. What do you do then?

Inconsistent answers

If you have recurring crashes but no clear or consistent reason, it may be a memory problem. Download the free test tool, Memtest86. This simple diagnostic tool is quick and works great.

Many people discount the possibility of a memory problem, because they account for such a small percentage of system crashes. However, they are often the cause that keeps you guessing the longest.

The operating system is the culprit

Not likely! As surprising as it may seem, the operating system is rarely at fault. If ntoskrnl.exe (Windows core) or win32.sys (the driver that is most responsible for the "GUI" layer on Windows) is named as the culprit, and they often are, don't be too quick to accept it. It is far more likely that some errant third-party device driver called upon a Windows component to perform an operation and passed a bad instruction, such as telling it to write to non-existent memory. So, while the operating system certainly can err, exhaust all other possibilities before you call Microsoft! The same goes for debugging Unix, Linux, and NetWare.

Wrong driver named

Often you will see an antivirus driver named as the cause. For instance, after using !analyze –v, the debugger reports a driver for your antivirus program at the line "IMAGE_NAME". This may well be the case, but bear in mind that such a driver can be named more often than it is guilty. Here's why: For antivirus code to work it must watch all file openings and closings. To accomplish this, the code sits at a low layer in the operating system and is constantly working. In fact, it is so busy it will often be on the stack of function calls that was active when the crash occurred, even if it did not cause it. Because any third-party driver on that stack immediately becomes suspect, it will often get named. From a mathematical standpoint it is easy to see how it will so often be on the stack whether it actually caused a problem or not.

Little or no vendor information

Not all vendors include needed information (not even their name!). If you use the lmv command and turn up nothing, look at the subdirectories on the image path (if there is one). Often one of them will be the vendor name or a contraction of it. Another option is to search Google. Type in the driver name and/or folder name. You'll probably find the vendor as well as others who have posted information regarding the driver.

Summary

When systems crash your first objective is to get them up and running. Your second is to fix the problem to prevent future crashes. Be willing to use any tool that can help you — even the Windows debugger. It won't give you the cause of every crash event, but it can help you solve 50% or more with two simple commands.

Smith is president and founder of Alexander LAN, Inc. He can be reached at dirk@alexander.com

  • Share/Email
  • Tweet This
  • Comment
  • Print

Partner Content

VOIP OPTIMIZATION

Optimize and assure the delivery of Voice over IP services with a superior packet based management platform that delivers unified views and analysis of voice, video and data traffic.

Download Technical Note

VIRTUALIZATION SIMPLIFIED

Industry analyst Jim Metzler helps identify how to overcome the challenges of managing virtualized server environments in this in-depth whitepaper.

Download the Whitepaper

Managing Modern IP Networks

Industry expert Nate Kalowski discusses the best practice approach of a Performance Assurance Layer (PAL), built in an ITIL framework, as a means to speed problem resolution and enable high quality QoS.

Download the Whitepaper

Comments (62)
Login
Forgot your account info?

How to solve Windows system crashes in minutesBy Anonymous on January 8, 2007, 11:31 pmThis article is very clear and useful. Author has expressed his views in a very clear way If it possible, please explain the following scenario when a system is...

Reply | Read entire comment

This is a great article. ItBy Anonymous on January 17, 2007, 1:14 pmThis is a great article. It helped me identify a crash my company was experiencing on a production system. Thank you, thank you, thank you.

Reply | Read entire comment

v good articleBy Anonymous on February 20, 2007, 5:30 amExcellent, saved me hours!

Reply | Read entire comment

Windows 2000 Prof CrashBy Anonymous on March 8, 2007, 1:20 pmGood article... I'm not an "IT" specialist but am having problems with home PC that other "IT's" can't fix... will keep you posted on my progress.

Reply | Read entire comment

This article is superb. VeryBy James on March 19, 2007, 2:07 amThis article is superb. Very clear, precise and uncomplicated. Bravo, and thank you very much!

Reply | Read entire comment

Best tutorial on this topic that I've seen.By Xtina on May 2, 2007, 12:13 pmThis is the clearest and most comprehensive tutorial on this topic. Thank you for writing it!

Reply | Read entire comment

View all comments

Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a NetworkWorld account? Log in here. Register now for a free account.

Videos

rssRss Feed