Microsoft KB Archive/101462
Article ID: 101462
Article Last Modified on 10/23/2003
- Microsoft LAN Manager 2.2 Standard Edition
This article was previously published under Q101462
When an application running at ring 3 in OS/2 experiences a General Protection Fault, Stack Fault, or any other unexpected exception, it displays a short message, a trap value, and various register information--all of which is referred to as a Trap Screen. The OS/2 kernel debugger is often used to address these problems but by default the OS/2 kernel debugger does not activate on ring 3 traps. Therefore the default settings of the OS/2 kernel debugger are useless in analyzing ring 3 exceptions.
In order to get the OS/2 kernel debugger to activate for ring 3 exceptions you must specifically hook the interrupt vector using the debugger's VSP command. For instance, if you are experiencing TRAP 000D (general protection fault), in your ring 3 application you will need to enter the VSPD command on the debug terminal to hook the 0xD protect mode interrupt. For a stack fault, TRAP 000C, enter VSPC to hook the 0xC protect mode interrupt.
If you do not hook these interrupts the trap screen appears on the server as if the debug kernel were not installed and all access to code and data segments involved in the trap is lost.
For more information on the VS(P) command and other debugger commands, see the "OS/2 System Debugger Command Reference."
Additional query words: 2.20 fault trap debug ring 3