404 .NET Tuning, Debugging,
and Optimization
Rev. 1.0.1
Microsoft .NET applications must be thoroughly tested, debugged, and
optimized before deployment, to ensure high performance and robust solutions.
This course is designed for intermediate programmers to quickly come up to
speed on techniques for debugging and optimizing .NET programs. It also covers
tuning applications after they have been deployed.
This course is designed for using the C# programming language.
However, the techniques for debugging a .NET program do not generally depend on
the programming language used to develop the application. Therefore, this
course would also be useful to programmers who use other .NET languages, such
as VB.NET. However, all example code and lab exercises are provided in C#.
The course incorporates a case study approach, involving use of many
important features of the .NET Framework, including Windows Forms, ASP.NET Web
Forms, Web services, and XML. The case study can serve as an effective vehicle
for review or gaining exposure to these technologies, and so can be suitable
for project leaders and architects who need a good understanding of .NET but
may not have the time to take a complete curriculum of courses.
This course is practical, with many example program that demonstrate
effective debugging and optimizing techniques. The goal is to quickly bring you
up to speed in the development of effective and reliable .NET applications. The
student will receive a comprehensive set of materials, including course notes, programming
examples, and lab exercises.
LEARNING OBJECTIVES
·
Acquire a working knowledge of .NET diagnostic
classes and tools
·
Learn how to debug .NET applications
·
Become proficient in optimizing and tuning .NET
applications
Course Duration: 4 days.
Prerequisites: The
student should be an experienced .NET application developer.
1.
Overview of .NET Debuggers
Compile-time Errors and Run-time Errors
Configuring Debug, Release, and Special Builds
Visual Studio .NET Debugger
The Windows-based DbgCLR Debugger
The CorDbg Command-line Debugger
Just-In-Time Debugging
2.
Error and Exception Handling
Using Exception Handlers
Checked Integer Arithmetic
The Exceptions Dialog Box
The $exception Pseudovariable
User Defined Exceptions
Best Practices in Exception Handling
3.
Debugging and Tracing
Attaching to Processes
Tracing
Event Logs
4.
Debugging Web Forms Applications
Enabling ASP.NET Debugging
Debugging Web Forms Applications Using Visual Studio
Debugging Web Forms Applications Using .NET SDK
Tracing and Event Logs with ASP.NET
Debugging Client Scripts
5.
Debugging Web Services
Enabling Web Services Debugging
Debugging Web Services Using Visual Studio
Debugging Web Services Using .NET SDK
XML Serialization Issues
HTTP Headers Issues
6.
More About Tracing
Using the BooleanSwitch and TraceSwitch Classes
Print Debugging Information with the Debug Class
Instrumenting Release Builds with the Trace Class
Using Listeners
Implementing Custom Listeners
7.
Fundamentals of Optimization
Compiler Optimization
Performance Measurements
Responsive User Interfaces
Multithreaded Windows Forms Applications
Best Practices for High Performance
8.
Application Profiling
Profiling Techniques
Tracing and Instrumenting an Application
Using Performance Counters
Resource Utilization Profiling
Profiling Code Hotspots
9.
Optimizing ASP .NET Applications and Web
Services
Caching in ASP.NET
Monitoring ASP.NET Application Performance
Using Microsoft Application Center Test (ACT)
Best Practices for High Performance
10. Remote
Debugging
Remote Debugging Setup
Debugging Windows Forms Programs Remotely
Debugging Web Applications and Services Remotely
11. Tuning
Configuration Files in .NET
Tuning Windows Forms Configuration Files
Tuning ASP.NET Configuration Files
Appendix A. Mixed-Mode Debugging
System Requirements
Course exercises require Microsoft Visual Studio .NET 2003 Enterprise
Edition on Windows 2000 or XP. Internet Information Services should be
installed. See the appropriate course Setup Guide for details.
A good hardware profile for this course would have a Pentium 500-MHz
or equivalent CPU, 512 MB of RAM, and at least 3 GB of free disk space for
tools installation and courseware.