Windows 2000 Application Debugging |
Duration: 2 days |
|
|
This course is intended for
application software engineers who develop Windows applications and support
personnel who support such applications. |
|
- Programming experience required with specific knowledge of C and C++ very helpful.
- Some labs are performed using Microsoft Visual Studio, so some experience with this
development tool is preferred.
|
|
|
Description |
This course gives developers and support engineers the knowledge to locate
and isolate Windows 2000 application bugs. |
|
Objectives |
On completion, attendees would be able to:
- Understand the tools supplied by Microsoft to debug Windows applications
- Explain the role of symbol and map files in debugging
- Effectively use Microsoft Visual Studio to trace and debug applications
- Use NTSD (NT Symbolic Debugger) to perform command-line debugging
- Perform stack tracing and debugging
- Perform remote debugging
- Perform debugging of Dynamically Loaded Library code (DLL's)
- Use Dr. Watson and WinDbg to analyze application crash dumps (post-mortem)
|
|
Course Outline |
An Overview of the Win32 Debuggers & Environment
- The Windows 2000 Debuggers
- The Portable Executable (PE) File Format
- Symbol Files
- Map Files
- Debug & Release Builds
Visual Studio Debugger
- Source File Debugging
- Setting Breakpoints
- The Debug Windows
- Thread Management
- Exception Management
- Remote Debugging
DLL Architecture & Debugging
- The Windows 2000 DLL Architecture
- Types of DLL Linkage
- DLL Base Address
- Binding
- Debugging a DLL
|
|
Command Line Debugging using NTSD
- NTSD Overview
- Symbolic & Source Debugging
- CDB
- Remote debugging using CDB
Stack Debugging
- Structure of the Intel Stack
- Stack Optimizations
- Stack Traces
- Stack Corruption
- Stack Recovery
Crashes & Dump Files
- Why Windows applications crash
- User mode dump files
- An Overview of Dr. Watson
- Building an application for use with Dr. Watson
- Capturing and analyzing a user mode crash
|
|