Production Debugging for .NET Framework Applications

Link: http://msdn.microsoft.com/en-us/library/ee817663.aspx

Summary: This guide provides debugging guidance for developers debugging .NET Web applications. It discusses the processes for debugging in a production environment.

Introduction

Every developer or support engineer debugs applications at some stage in his or her career, yet debugging is often viewed as an arcane and difficult topic. While it is often difficult to determine why an application is hanging, leaking memory, or crashing, there are techniques you can apply to make the debugging process more productive and efficient. The Production Debugging for .NET Framework Applications guide aims to equip you with the mindset, tools, and techniques that will help you successfully identify and resolve common application debugging.

The techniques presented here are not simplified classroom exercises. They are based on the experience of both Microsoft customers and Microsoft internal development teams. These techniques represent proven, best-practice approaches to debugging a variety of issues.

This guide presents walkthroughs of three scenarios that ASP.NET applications may encounter when running in production environments: memory consumption, contention (also known as "deadlock"), and unexpected server crashes. How operators detect symptoms of these issues and determine overall system health is not within the scope of the guide.

These scenarios concentrate on debugging Microsoft® .NET Framework applications in a production environment, focusing on low-level details such as thread states and memory allocations. However, the thought processes and techniques discussed will help you understand debugging on a much broader scale. This document helps you learn how to think about debugging in a general sense, and equips you with the mindset to successfully approach unknown and unforeseen debugging situations in the future.

Although the example scenarios target ASP.NET and the Visual C#™ development tool, the thought processes and techniques discussed are common across all .NET technologies and languages, and problems encountered are common themes. The scenarios also introduce the tools that Microsoft provides for the Microsoft Windows® operating system and .NET debugging, including the use of WinDbg, Core Debugger (CDB), and debugger extension DLLs for displaying managed call stacks and object data.

Who Should Read This Guide

This guide provides information on how to debug applications running in the .NET environment. It is aimed at developers and support engineers who have existing debugging skills and who want to extend those skills into the .NET environment. It can also be of use to others who wish to gain an appreciation of how .NET works and the issues involved in debugging.

What You Must Know

To use this guide, you should have the following:

  • Experience developing and debugging applications in the Microsoft .NET environment. However, extensive programming experience is not required.
  • Experience using tools such as the Microsoft Visual Studio® .NET development system; you may also have experience with other Microsoft debugging tools, such as WinDbg and CorDbg.
  • An understanding of Windows operations, such as memory allocation and deallocation, processes, and threads.

Download

Click here to download this guide in PDF format.

Click here to download the Debugging Walkthrough msi.

Click here to download the Debugging Toolset.

原文地址:https://www.cnblogs.com/holly/p/1622867.html