debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerFindingFault.guide02.html
author tzelaw
Tue, 14 Apr 2009 15:03:19 -0500
changeset 94 d74b720418db
parent 2 d760517a8095
child 990 5d016a880824
child 1024 48b401835d0a
permissions -rw-r--r--
Test framework support: Ask debugger to remember DebugTarget so test framework can use it to setup test framework related utility. With this we can use the DebugUI way of launching while keeping test framework functionality
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
cawthron
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
cawthron
parents:
diff changeset
     2
	"http://www.w3.org/TR/html4/loose.dtd">
cawthron
parents:
diff changeset
     3
	<html><head>
cawthron
parents:
diff changeset
     4
	<title>Unhandled Exceptions</title>
cawthron
parents:
diff changeset
     5
	<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="screen">
cawthron
parents:
diff changeset
     6
	<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="print">
cawthron
parents:
diff changeset
     7
	<link href="../../book.css" type="text/css" rel="stylesheet" >
cawthron
parents:
diff changeset
     8
<div class="Head1">
cawthron
parents:
diff changeset
     9
cawthron
parents:
diff changeset
    10
<h2>Unhandled Exceptions</h2>
cawthron
parents:
diff changeset
    11
</div>
cawthron
parents:
diff changeset
    12
<div>
cawthron
parents:
diff changeset
    13
<p>If the <em>Fault Category</em> is <em>Exception</em>, then
cawthron
parents:
diff changeset
    14
the fault is caused by an unhandled processor exception. You can get further
cawthron
parents:
diff changeset
    15
information on the type of exception by looking at the first three lines of the
cawthron
parents:
diff changeset
    16
generated output:</p>
cawthron
parents:
diff changeset
    17
<p class="listing">Fault Category: Exception  Fault Reason: 10000000<br>
cawthron
parents:
diff changeset
    18
  ExcId 00000001 CodeAddr f800415c DataAddr 00000000 Extra 00000005<br>Exc 1 Cpsr=60000013 FAR=00000000 FSR=00000005</p>
cawthron
parents:
diff changeset
    19
<p> The CodeAddr and DataAddr fields show
cawthron
parents:
diff changeset
    20
the address of the instruction that caused the exception and, depending on the
cawthron
parents:
diff changeset
    21
type of exception and instruction, the address of the data the instruction was
cawthron
parents:
diff changeset
    22
trying to access. You can use the CodeAddr value to find the
cawthron
parents:
diff changeset
    23
function which was being executed by <a href="CrashDebuggerUsingMAKSYM-Ref.guide.html">using the MAKSYM tool</a>.</p>
cawthron
parents:
diff changeset
    24
<p>The number after ExcId is the type of exception, in
cawthron
parents:
diff changeset
    25
hexadecimal, and is one of the
cawthron
parents:
diff changeset
    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
cawthron
parents:
diff changeset
    27
processor.</p>
cawthron
parents:
diff changeset
    28
<ul>
cawthron
parents:
diff changeset
    29
<li>
cawthron
parents:
diff changeset
    30
<p>If the exception is a prefetch abort, then the code address is
cawthron
parents:
diff changeset
    31
invalid.</p>
cawthron
parents:
diff changeset
    32
</li>
cawthron
parents:
diff changeset
    33
<li>
cawthron
parents:
diff changeset
    34
<p>A data abort means that the code address is invalid.</p>
cawthron
parents:
diff changeset
    35
</li>
cawthron
parents:
diff changeset
    36
</ul>
cawthron
parents:
diff changeset
    37
<p>The number after FAR is the fault address register;
cawthron
parents:
diff changeset
    38
this is the address that caused the fault.</p>
cawthron
parents:
diff changeset
    39
<p>The number after FSR is the
cawthron
parents:
diff changeset
    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>
cawthron
parents:
diff changeset
    41
<p>The number after CPSR is the value of the CPU's CPSR register when
cawthron
parents:
diff changeset
    42
the exception occurred. The 5 least-significant bits of the CPSR register
cawthron
parents:
diff changeset
    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>
cawthron
parents:
diff changeset
    44
</div>
cawthron
parents:
diff changeset
    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>
cawthron
parents:
diff changeset
    46
	   </body>
cawthron
parents:
diff changeset
    47
	   </html>
cawthron
parents:
diff changeset
    48