Team LiB
Previous Section Next Section

List of Figures

Chapter 1: Debugging Introduction

Figure 1-1: The Visual Studio .NET debugger at work
Figure 1-2: Installing remote debugging components

Chapter 3: Always Have a Plan

Figure 3-1: The brute-force approach to debugging
Figure 3-2: A conceptual breakdown of the cell phone system
Figure 3-3: A conceptual breakdown of the voice mail server

Chapter 4: Assertion Debugging

Figure 4-1: A failed assert
Figure 4-2: What not to show your users
Figure 4-3: The customized assert
Figure 4-4: The call stack after invoking our customized assert

Chapter 5: Debugging with Logs

Figure 5-1: Stack trace of an exception
Figure 5-2: A typical event log messages clearly explains why the service startup failed.

Chapter 6: ASP.NET and SQL Debugging

Figure 6-1: A typical ASP.NET error message
Figure 6-2: Attaching the debugger to a process
Figure 6-3: The trace selection screen
Figure 6-4: Output from the Trace Request section
Figure 6-5: Specifying the parameters to a stored procedure
Figure 6-6: Improperly configured DCOM permissions

Chapter 7: Debugging Remote Customer Sites

Figure 7-1: A security exception from running code remotely.
Figure 7-2: The .NET Framework Configuration tool

Chapter 8: Multithreaded Debugging

Figure 8-1: The thread debugging window
Figure 8-2: The conditional breakpoints dialog box
Figure 8-3: Setting a C# breakpoint to fire when a variable changes
Figure 8-4: A bug in VS .NET hides the fact the code is waiting on a lock.

Chapter 9: Defect Tracking Programs

Figure 9-1: A typical home-grown defect tracking system
Figure 9-2: typical development workflow

Chapter 10: Source Control Debugging

Figure 10-1: The change history of a project in SourceSafe
Figure 10-2: A diff of two file versions
Figure 10-3: The options you can perform from the change history screen
Figure 10-4: The resized change history screen
Figure 10-5: Merging two files with SourceSafe

Team LiB
Previous Section Next Section