Exception Handling

The following table shows some of the exceptions that the kernel debugger can handle.

Exception Microprocessor exception Description
STATUS_DATATYPE_MISALIGNMENT MIPS: 4, 5

SH3: 0x0e0, 0x100

An address is unaligned. Verify that all data references are aligned and that the process is in the correct mode, either User or Kernel.
STATUS_ACCESS_VIOLATION MIPS: 1, 2, 3

SH3: 0x40, 0x60, 0xa0, 0xc0

An attempt was made to access data through an invalid pointer or you do not have permission to access the object to which the pointer refers.
STATUS_BREAKPOINT MIPS: 9

SH3: 0x160

A breakpoint was generated by a call to the DebugBreak function.
STATUS_ILLEGAL_INSTRUCTION MIPS: 10

SH3: 0x180, 0x1a0

The microprocessor has tried to execute an unknown instruction or an instruction that is invalid in a delay slot. This exception will only be encountered if you are writing assembly language code.
STATUS_INVALID_DISPOSITION NA The structured exception handler code called a handler to handle an exception, but the handler returned an erroneous or unknown disposition.

Note   Use of try{...} catch(){...} causes an error message to be displayed, saying that the -GX options need to be set. Starting with Windows CE .NET, C++ Exception Handling is supported.

Use the Exceptions dialog box to control how the debugger handles exceptions. The Exceptions dialog box displays system-defined and user-defined exceptions and their actions for your project. The debugger's default behavior is to stop on all exceptions except for C++ exceptions.

See Also

Platform Debugging | Viewing or Modifying the List of Exceptions | Handling an Exception

 Last updated on Friday, October 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.