debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerFindingFault.guide02.html
changeset 0 fb279309251b
child 990 5d016a880824
child 1024 48b401835d0a
equal deleted inserted replaced
-1:000000000000 0:fb279309251b
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       
     2 	"http://www.w3.org/TR/html4/loose.dtd">
       
     3 	<html><head>
       
     4 	<title>Unhandled Exceptions</title>
       
     5 	<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="screen">
       
     6 	<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="print">
       
     7 	<link href="../../book.css" type="text/css" rel="stylesheet" >
       
     8 <div class="Head1">
       
     9 
       
    10 <h2>Unhandled Exceptions</h2>
       
    11 </div>
       
    12 <div>
       
    13 <p>If the <em>Fault Category</em> is <em>Exception</em>, then
       
    14 the fault is caused by an unhandled processor exception. You can get further
       
    15 information on the type of exception by looking at the first three lines of the
       
    16 generated output:</p>
       
    17 <p class="listing">Fault Category: Exception  Fault Reason: 10000000<br>
       
    18   ExcId 00000001 CodeAddr f800415c DataAddr 00000000 Extra 00000005<br>Exc 1 Cpsr=60000013 FAR=00000000 FSR=00000005</p>
       
    19 <p> The CodeAddr and DataAddr fields show
       
    20 the address of the instruction that caused the exception and, depending on the
       
    21 type of exception and instruction, the address of the data the instruction was
       
    22 trying to access. You can use the CodeAddr value to find the
       
    23 function which was being executed by <a href="CrashDebuggerUsingMAKSYM-Ref.guide.html">using the MAKSYM tool</a>.</p>
       
    24 <p>The number after ExcId is the type of exception, in
       
    25 hexadecimal, and is one of the
       
    26 <a href="CrashDebuggerARMexceptionsProcessorModes.guide.html#debugging%2earm%2dexceptions%2dprocessormodes%2eexceptions" title="ARM Exception types, fault status register values, processor modes / ARM exception types">ARM exception types</a>. The meaning of the numbers depends on the type of
       
    27 processor.</p>
       
    28 <ul>
       
    29 <li>
       
    30 <p>If the exception is a prefetch abort, then the code address is
       
    31 invalid.</p>
       
    32 </li>
       
    33 <li>
       
    34 <p>A data abort means that the code address is invalid.</p>
       
    35 </li>
       
    36 </ul>
       
    37 <p>The number after FAR is the fault address register;
       
    38 this is the address that caused the fault.</p>
       
    39 <p>The number after FSR is the
       
    40 <a href="CrashDebuggerARMexceptionsProcessorModes.guide.html#debugging%2earm%2dexceptions%2dprocessormodes%2efsr" title="ARM Exception types, fault status register values, processor modes / Fault status register values (FSR register)">fault status register value</a> and shows why the MMU raised an exception.</p>
       
    41 <p>The number after CPSR is the value of the CPU's CPSR register when
       
    42 the exception occurred. The 5 least-significant bits of the CPSR register
       
    43 indicate the <a href="CrashDebuggerARMexceptionsProcessorModes.guide.html#debugging%2earm%2dexceptions%2dprocessormodes%2ecpsr" title="ARM Exception types, fault status register values, processor modes / ARM processor modes (CPSR register)">ARM processor mode</a>.</p>
       
    44 </div>
       
    45 <div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
       
    46 	   </body>
       
    47 	   </html>
       
    48