Debugging


Web Sites
Debugging IIS Deadlocks and Blockings - This site shows you some methods that are useful when you are trying to determine if you web server is experiencing deadlocks, e.g. if you have a dllhost.exe that consumes 100% CPU.
How to Use Driver Verifier to Troubleshoot Device Drivers in Windows 2000 (244617) - Driver Verifier is included in Windows 2000 to promote stability and reliability; you can use this tool to troubleshoot driver issues. In Windows 2000, kernel-mode components can cause system corruption or system failures as a result of an improperly written driver, such as an earlier version of a Windows Driver Model (WDM) driver. This article describes how to use Driver Verifier to isolate and troubleshoot a driver in the system.
How to Use the Special Pool Feature to Isolate Pool Damage (188831) - Pool damage is caused when a kernel-mode component writes to memory outside of its allocated pool area. By writing to memory beyond the boundary of its allocated area, it is likely that another area of allocated memory, possibly owned by another component, is overwritten. This damage can cause problems such as blue screens in completely unrelated areas of code. The Special Pool utility identifies the kernel-mode component that is damaging pool data by writing to memory outside its allocated area.
Root Out Elusive Production Bugs with These Effective Techniques - Errors in code are inevitable. No matter how much testing you have done, when your application is deployed in a production environment, errors will occur. These problems can manifest as standard exceptions, as hangs where the CPU is being used 100 percent of the time, as deadlocks, where a couple of threads are locked and will never release the other's resources, and as crashes, where the application dies a silent death.
Testing for Errors in Accessing and Allocating Memory - List of tools and techniques that will help discover drivers with errors related to memory access and allocation.
Troubleshooting High CPU Utilization - This article demonstrates a method using the performance monitor and WinDbg to troubleshoot high CPU utilization on your IIS Server.

Programs
Debugging Tools for Windows - Overview - On this site you find debugging tools and various resources for debugging Windows NT, Windows 2000, Windows XP and Windows Server 2003.
NotMyFault.zip - NotMyFault is a small program offered by sysinternals.com that triggers various types of blue screens. It is a great help if you want to practise different memory dump analysis techniques. Remember to configure your system options before running the program.
Oh.exe: Open Handles - This command-line tool shows the handles of all open windows. The tool can also be used to show only information relating to a specific process, object type, or object name. This feature is useful for finding the process that has a file open when a sharing violation occurs.
Script Debugger for Windows NT 4.0, 2000, and XP - The Microsoft Script Debugger is a debugging environment that extends any Microsoft ActiveX® Scripting host application—for example, Microsoft Internet Explorer (IE) or Microsoft Internet Information Server (IIS).