The Wayback Machine - https://web.archive.org/web/20100724061304/http://www.codeguru.com:80/csharp/.net/net_debugging/

    Debugging

    Writing a More Robust Debugger Visualizer in WPF

    In this new installment, you'll discover how to write an even more robust version of a debugger visualizer using WIndows Presentation Foundation (WPF). You'll learn how to visualize additional data types as well as how to change the value of variables.

    Writing a Debugger Visualizer in WPF: Part 1

    There are lots of good examples of creating a debugger visualizer for Visual Studio, but one thing that this is common is that all of them are written using Windows form. It is, however, possible to make a debugger visualizer in WPF, and thus display data in a much more sophisticated way using modern technology.

    Code Contracts in .NET

    This article introduces code contracts that specify statements in .NET programs that must prove valid.

    Check-in policies

    Check-in policies help enforce your organization's development methodology and ensure that the code being checked in passes the necessary quality requirements. In addition to using the pre-defined check-in policies, you can create custom ones.

    .NET Tip: Searching for a Needle in a Haystack, or an Entry in an Event Log

    Simplify finding the entry you need from an event log.

    [Updated] New Features in Microsoft Visual Studio 2010 and the .NET Framework 4.0

    Learn about several features relevant to developers in Visual Studio 2010 and the .NET Framework 4.0, such as parallel programming, XSLT debugging, new ASP.NET features, and new VB.NET and C# features that include the Chart control, XSD Designer, Lambda Expressions, and optional parameters.

    Improving Visual C++ Debugging with Better Data Display

    Code is run in a debugger for two main reasons: examining the branches of code that are being executed, and examining data values to determine why the code is behaving in a certain manner. Inspecting data values can be significantly improved by customizing the debug information. See how that can be done in the Visual C++ debugger.

    ADO.NET Trace Logging

    Apply the advanced trace log features of ADO.NET and improve your data access code.

    Build a Windows Event Log Watcher Service Process to Export Event Log Entries as an RSS Feed

    Build a Windows Event Log Watcher Service Process to Export Event Log Entries as an RSS feed using System.Diagnostics.EventLog, EntryWritten, and EnableRaisingEvents.

    .NET Tip: Debugging: Dynamically Determining the Name of the Current Function

    Are you tired of hard-coding function names in trace messages? Have you ever used cut and paste to copy a trace statement and forgot to change the function name? There'll be no more wild goose chases because of bad function names when you determine the function name dynamically.

    ASP.NET Tip: Adding Tracing to an Application

    Tracing down errors in web applications and services is no easy task. To make it simpler, learn how to add trace statements to your code. They appear only when tracing is enabled on the web page or the web site.

    Getting Rid of the Back Button Problem

    For certain data sensitive web pages, you probably do not want users to use a web browser's back button because they may retrieve and repost a page from the browser's cache, which may cause an unexpected problem and sometimes crash your application. This is the so-called back button problem. Learn how to get rid of the little bug in an ASP .NET way.

    Whammy Tracing: Hassle-Free .NET Debugging

    The Whammy debugging tool permits you to use the .NET Framework to add detailed tracing information to your application in a very unobtrusive way.

    Find Out What's Taking Your .NET Code So Long to Run

    Employ some useful .NET features to build an auto profiler, which a consumer can use to time any statement, method, or larger block of code just by calling a couple of methods.

    An In-Depth Coverage of ASP.NET 2.0's Master Pages: Part 2 of 3

    More on ASP.NET 2.0's master pages: Here you see the various ways of specifying the master page to use and ways to work with master pages programmatically.

    Visual C++ 2005 IDE Enhancements, Part 5: Variable Display

    For complex data types, the traditional display offered by debug windows is inadequate. Visual C++ 2005 makes a dramatic upgrade to the variable display, offering a number of improvements in the way you can examine data during a debug session.

    SOS from Your Production Environment

    All the best software development practices and testing efforts in the world cannot guarantee that there are no intermittent or unexplainable application issues when in production. Worst case scenario being application hangs and crashes. This article shows how to take dumps of .NET applications and analyze them. This helps developers to understand the issue and find the faulty code.

    Playing .NET Doctor: Diagnose Application Hiccups with .NET Classes

    Discover how to add functionality for debugging and tracking an application's execution path.

    Debugging Hosted Assemblies

    Paul uses a Blackjack program to demonstrates how to debug a hosted assembly.

    Can You Hear Me Now?

    Three aspects of .NET programming can make debugging and testing a ton of fun and help you come off as a real pro when you deliver bulletproof code.

    .NET Tracing Tutorial

    Trace and Debug .NET classes are used to include tracing support in .NET applications. This article explains the use of these classes and implementations of tracing filtering mechanisms.

    Testing Visual Basic .NET with NUnit

    NUnit is an open source, testing framework for all .NET languages. The big payoff is that NUnit can run tests automatically, and it can be integrated as part of your build, test, and deployment lifecycle. See it in action with Visual Basic .NET...

    Building a Logging Object in .NET

    Explore how to build an object in .NET that can log information to a file or the event log.

    Implementing a Generic Object State Dumper

    Every .NET object has the ToString method that can be used to dump its state. This article explains implementating a generic object state dumper mechanism that can be used across all objects.

    Debugging Techniques in C#

    A method for displaying debug statements during runtime.