Dbugllpd - OS/2 Warp System Debug Tools - Basic Skills for Low-Level Program Debugging

From OS2World.com Wiki
Jump to: navigation, search

This is the first in the series of IBM workshops about using OS/2 Warp's system debug tools.

In this two-day workshop, students become familiar with the way that OS/2 Warp uses the x86 hardware to implement virtual storage. Students are taught how descriptors work, what descriptor tables exist, how page tables are used, and the resulting virtual storage environment in OS/2 Warp. The lecture is oriented to understanding exactly why a trap occurs. Students also learn to read assembler instructions, and how the registers are typically used. Additionally, students are taught how a stack operates.

This workshop is a combination of classroom lectures and hands-on lab work. The student will spend a significant portion of the workshop using a debugger to display descriptors, page tables, registers, and storage, and watching the execution of individual instructions.


This workshop will provide a broad-based understanding of how the hardware works, and how OS/2 Warp uses it to create the execution environment for 16- and 32-bit programs.


The workshop's objectives are to:

  • Learn how the hardware is exploited to create the virtual storage environment in OS/2 Warp
  • Read assembler instructions
  • Display the various components that go into resolving a virtual address, and to display storage in several ways
  • Learn what the information on a trap screen means
  • Learn what documentation can be made available for diagnostic purposes


This workshop is intended for programmers and support personnel who want to:

  • Learn how to debug software by using OS/2 Warp's system debug tools
  • Learn how OS/2 Warp implements the virtual storage environment
  • Build the basic skills needed to attend the next workshop in this series, Diagnosing Traps in Application Programs


  • What x86 protection mechanisms exist, and how they work
  • Descriptors, descriptor tables, and how to find them
  • Paging, page tables, and how to find them
  • Selector, general, and system registers
  • Reading assembler instructions, and watching them run
  • What a stack is, and how to mine the data it contains
  • Directed lab exercises


Prerequisites are: some programming skills; a good understanding of arrays, structures, pointers, and linked lists; ability to do hex-to-binary conversions; and ability to use OS/2.


  • Not Available