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.