diff -r 000000000000 -r fb279309251b debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerFindingFault.guide02.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerFindingFault.guide02.html Fri Apr 03 23:33:03 2009 +0100 @@ -0,0 +1,48 @@ + +
+If the Fault Category is Exception, then +the fault is caused by an unhandled processor exception. You can get further +information on the type of exception by looking at the first three lines of the +generated output:
+Fault Category: Exception Fault Reason: 10000000
+ ExcId 00000001 CodeAddr f800415c DataAddr 00000000 Extra 00000005
Exc 1 Cpsr=60000013 FAR=00000000 FSR=00000005
The CodeAddr and DataAddr fields show +the address of the instruction that caused the exception and, depending on the +type of exception and instruction, the address of the data the instruction was +trying to access. You can use the CodeAddr value to find the +function which was being executed by using the MAKSYM tool.
+The number after ExcId is the type of exception, in +hexadecimal, and is one of the +ARM exception types. The meaning of the numbers depends on the type of +processor.
+If the exception is a prefetch abort, then the code address is +invalid.
+A data abort means that the code address is invalid.
+The number after FAR is the fault address register; +this is the address that caused the fault.
+The number after FSR is the +fault status register value and shows why the MMU raised an exception.
+The number after CPSR is the value of the CPU's CPSR register when +the exception occurred. The 5 least-significant bits of the CPSR register +indicate the ARM processor mode.
+