PS90C - OS/2 Warp V3 Problem Determination Workshop I - Application Trap Analysis

Abstract
This course teaches you how to debug OS/2 Warp applications using the dump formatter. You will learn to determine why a trap occurs, how to read and interpret mnemonic instructions, how to display descriptor and page table entries and, how a stack is used by the hardware and software.

Length
5 days

What You Will Learn
After completing this course, you should be able to:
 * Describe the virtual storage environment of OS/2 Warp
 * Display components of a virtual storage address and data
 * Display code segments as mnemonic machine instructions, and determine the operations they will perform
 * Gather appropriate documentation necessary for diagnosis
 * Describe why a trap occurs
 * Use the dump formatter
 * Create and analyze a valid dump of a trap
 * Determine which program or routine caused the trap
 * Describe how to use the data displayed on a trap screen

Topics

 * OS/2 Warp use of the Intel x86 hardware to implement a protected virtual storage environment
 * Determining why a trap occurs
 * Displaying descriptors, page table entries, data and instructions
 * An introduction to reading and interpreting mnemonic machine-level instructions
 * How a stack is used by both hardware and software
 * Using application documentation during problem analysis
 * Gathering proper documentation for a problem

Audience
This course has been designed for those who are assigned the task of performing problem determination and analysis of application trap errors. Technical co-ordinators, programmers, developers, technical support personnel, and others who wish to develop or improve this skill are good candidates for this course. This class is the foundation for the following OS/2 Warp Problem Determination Debug series:
 * Diagnosing Traps in Privileged Code (P1191E)
 * Using the System Trace (P1097E)
 * Diagnosing Hangs (P1098E)

Prerequisites
Before taking this course, you should have the following:
 * Experience in basic programming skills/concepts (C is preferred but not required). These basic concepts should include an understanding of arrays, pointers and linked lists.
 * Experience in Assembly language or Processor Architecture concepts (Intel X86 is preferred but not required).
 * Basic skills for using OS/2 Warp.