2
|
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 © 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 |
|