crashanalysis/crashanalyser/com.nokia.s60tools.crashanalyser.help/html/concepts/how_to_analyse_crash.htm
changeset 4 615035072f7e
parent 0 5ad7ad99af01
equal deleted inserted replaced
3:431bbaccaec8 4:615035072f7e
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2 <html>
     2 <html>
     3 <head>
     3 <head>
     4 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
     4   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
     5 <title>How to analyse a crash</title>
     5   <title>How to analyse a crash</title>
     6 <link href="../../book.css" type="text/css" rel="stylesheet">
     6   <link href="../../book.css" type="text/css" rel="stylesheet">
     7 </head>
     7 </head>
       
     8 
     8 <body>
     9 <body>
       
    10 <h2>How to analyse a crash</h2>
     9 
    11 
    10 <h2>How to analyse a crash</h2>
    12 <p>Analysing a crash is started by importing a file to the Crash Analyser main
    11 <p>Analysing a crash is started by importing a file to the Crash Analyser main view. By double-clicking the imported file, the Crash Visualiser opens.</p>
    13 view. By double-clicking the imported file, the Crash Visualiser opens.</p>
       
    14 
    12 <p></p>
    15 <p></p>
    13 <img src="images\CrashVisualiser.PNG">
    16 <img src="images\CrashVisualiser.PNG"> 
       
    17 
    14 <p></p>
    18 <p></p>
    15 <p>The Crash Visualiser contains four different tabs:</p>
    19 
       
    20 <p>The Crash Visualiser contains seven different tabs (at the bottom of the
       
    21 view). However, in some cases all the tabs are not visible. </p>
       
    22 <ol>
       
    23   <li><b>General</b> 
       
    24     <ul>
       
    25       <li>General 
       
    26         <p>The General pane shows general information on a crash, for example:
       
    27         </p>
       
    28         <ol>
       
    29           <li>in which process and in which thread the crash occurred,</li>
       
    30           <li>when the crash occurred, </li>
       
    31           <li>which device was used when the crash occurred, and </li>
       
    32           <li>other general information.</li>
       
    33         </ol>
       
    34       </li>
       
    35     </ul>
       
    36   </li>
       
    37 </ol>
    16 <ul>
    38 <ul>
    17 <li><b>1) Crash Data</b>
    39   <li>Exit Info 
    18 <ul>
    40     <p>The Exit Info pane gives the reason why a crash occurred. The reason
    19 <li>Summary<p>The Summary pane shows general issues about a crash, for example: <b>1)</b> In which process and in which thread a crash occurred, <b>2)</b> When a crash occurred, <b>3)</b> Information on which device was used when the crash occurred, <b>4)</b> Etc.</p></li><li>Exit Info<p> The Exit Info pane gives the reason why a crash occurred. The reason might be for example a Symbian OS panic or exception. If the panic or error description can be found in the Crash Analyser error library, then the description is displayed.</p></li>
    41     could be, for example, a Symbian OS panic or exception. If the panic or
    20 <li>Call Stack<p>The <b>Call Stack</b> pane shows the reconstructed call stack from the time of the panic/exception. The call stack appears in a similar layout as you might expect to see with a typical Symbian OS debugger (for example Carbide.c++). The most recently executing function appears near the top of the stack, and the oldest or initial functions appear at the bottom.</p>
    42     error description can be found in the Crash Analyser error library, then
    21 <p>By right-clicking on the <b>Call Stack</b> pane, you get four selections:</p>
    43     the description is displayed.</p>
    22 <table width="667" border="1" cellspacing="1" cellpadding="2">
    44   </li>
    23 <colgroup>
    45   <li><b>Call Stack</b> 
    24 <col width="50*">
    46     <p>The <b>Call Stack</b> pane shows the reconstructed call stack from the
    25 <col width="141*"></colgroup>
    47     time of the panic/exception. The call stack appears in similar layout as
    26 <thead>
    48     you would expect to see with a typical Symbian OS debugger (for example
    27 <tr>
    49     Carbide.c++). The most recently executed function appears near the top of
    28 <td><b>Function</b></td>
    50     the stack, and the oldest or initial functions appear at the bottom.</p>
    29 <td><b>Description</b></td>
    51     <p>By right-clicking on the <b>Call Stack</b> pane, you get four
    30 </tr>
    52     selections:</p>
    31 <tr>
    53 
    32 <td><b>Open Source File</b></td>
    54     <table width="667" border="1" cellspacing="1" cellpadding="2">
    33 <td>Opens the source file this symbol points to. This is possible only if the source file is in use in your computer.</td>
    55       <colgroup><col width="50*">
    34 </tr>
    56         <col width="141*">
    35 </thead>
    57       </colgroup>
    36 <tbody>
    58       <thead>
    37 <tr>
    59         <tr>
    38 <td><b>Active SDK</b></td>
    60           <td><b>Function</b></td>
    39 <td>Used for selecting the active SDK which is used in the Open Source File function.</td>
    61           <td><b>Description</b></td>
    40 </tr>
    62         </tr>
    41 <tr>
    63         <tr>
    42 <td><b>Copy Selection to Clipboard</b></td>
    64           <td><b>Open Source File</b></td>
    43 <td> Selected/highlighted rows are copied to clipboard.
    65           <td>Opens the source file this symbol points to. This is possible
    44 <ul>
    66             only if the source file is in use in your computer.</td>
    45 <li>As plain text: Can be pasted for example to Notepad.</li>
    67         </tr>
    46 <li>As rich text: Can be pasted for example to MS Word.</li>
    68       </thead>
    47 </ul>
    69       <tbody>
    48 </td>
    70         <tr>
    49 </tr>
    71           <td><b>Active SDK</b></td>
    50 <tr>
    72           <td>Used for selecting the active SDK which is used in the Open
    51 <td><b>Copy Whole Stack to Clipboard</b></td>
    73             Source File function.</td>
    52 <td>All rows are copied to clipboard.
    74         </tr>
    53 <ul>
    75         <tr>
    54 <li>As plain text: Can be pasted for example to Notepad.</li>
    76           <td><b>Copy Selection to Clipboard</b></td>
    55 <li>As rich text: Can be pasted for example to MS Word.</li>
    77           <td>Selected/highlighted rows are copied to clipboard. 
    56 </ul>
    78             <ul>
    57 </td>
    79               <li>As plain text: Can be pasted for example to Notepad.</li>
    58 </tr>
    80               <li>As rich text: Can be pasted for example to MS Word.</li>
    59 </tbody>
    81             </ul>
    60 </table>
    82           </td>
    61 <p>For more detailed information on call stack and analysing call stacks, see <a href="../reference/call_stack.htm">Call stack.</a></p></li>
    83         </tr>
    62 </ul></li>
    84         <tr>
    63 <li><b>2) Advanced</b>
    85           <td><b>Copy Whole Stack to Clipboard</b></td>
    64 <ul>
    86           <td>All rows are copied to clipboard. 
    65 <li>Registers<p>The Registers pane shows the register values at the time of the crash.</p>
    87             <ul>
    66 <p>For more detailed information on registers, see <a href="../reference/registers.htm">Registers.</a></p></li>
    88               <li>As plain text: Can be pasted for example to Notepad.</li>
    67 <li>Code Segments<p>The code segment list contains a list of binaries (dlls/plugins/exe) that were loaded at the time of the crash.</p><p>For more detailed information on code segments, see <a href="../reference/code_segments.htm">Code segments.</a></p></li>
    89               <li>As rich text: Can be pasted for example to MS Word.</li>
    68 <li>Event Log<p>The Event Log pane shows 30 last events that occurred in the device before the crash. Only the window and key events are captured.</p></li>
    90             </ul>
    69 <li>CPSR details<p>The ARM processor stores the processor state in "status registers." The current state of the processor is stored within the Current Program Status Register (CPSR). This register contains bits that can be queried to identify certain attributes of the processor at the current point in time. For example, you can check CPSR to identify if the processor is executing code in User, Supervisor or one of the other ARM processor modes. This can give a useful indication of whether a panic/exception occurred whilst executing user or kernel code.  Additionally, another bit within CPSR can indicate what kind of instruction was executing at the time of the problem, that is, was the processor in THUMB or ARM mode. Refer to the ARM architecture manual for your processor for full details. Note that Crash Analyser is unable to discern the type of processor that the device utilizes. Therefore, Crash Analyser prevents several different interpretations of this register, and the appropriate interpretation for the device's hardware architecture must be selected manually.</p></li>
    91           </td>
    70 </ul></li>
    92         </tr>
    71 <li><b>3) Errors &amp; Warnings</b><p>Shows all possible errors and warnings occurring during the decoding process.</p>
    93       </tbody>
    72 <p><b>Note!</b> If no errors or warnings have occurred, then this tab is not shown.</p></li>
    94     </table>
    73 <li><b>4) XML</b><p>Shows the raw data which other tabs are visualising in more readable format. The other tabs do not show all information what the raw data contains, so if some information is missing from a tab, you can try to find it from the XML tab.</p></li>
    95     For more detailed information on call stack and analysing call stacks, see
       
    96     <a href="../reference/call_stack.htm">Call stack.</a></li>
       
    97   <li><b>Code Segments</b> 
       
    98     <p>The code segment list contains a list of binaries (dlls/plugins/exe)
       
    99     which were loaded at the time of the crash.</p>
       
   100     <p>For more detailed information on code segments, see <a
       
   101     href="../reference/code_segments.htm">Code segments.</a> </p>
       
   102   </li>
       
   103   <li><b>Registers</b> 
       
   104     <ul>
       
   105       <li><p>The Registers pane shows the register values at the time of the
       
   106         crash.</p>
       
   107         <p>For more detailed information on registers, see <a
       
   108         href="../reference/registers.htm">Registers.</a></p>
       
   109       </li>
       
   110       <li>CPSR details 
       
   111         <p>The ARM processor stores the processor state in "status registers."
       
   112         The current state of the processor is stored within the Current Program
       
   113         Status Register (CPSR). This register contains bits that can be queried
       
   114         to identify certain attributes of the processor at the current point in
       
   115         time. For example, you can check CPSR to identify if the processor is
       
   116         executing code in User, Supervisor or one of the other ARM processor
       
   117         modes. This can give a useful indication of whether a panic/exception
       
   118         occurred whilst executing user or kernel code. Additionally, another
       
   119         bit within CPSR can indicate what type of instruction was executing at
       
   120         the time of the problem, that is, was the processor in THUMB or ARM
       
   121         mode. Refer to the ARM architecture manual for your processor for full
       
   122         details. Note that Crash Analyser is unable to discern the type of
       
   123         processor that the device utilizes. Therefore, Crash Analyser prevents
       
   124         several different interpretations of this register, and the appropriate
       
   125         interpretation for the device's hardware architecture must be selected
       
   126         manually.</p>
       
   127       </li>
       
   128     </ul>
       
   129   </li>
       
   130   <li><b>Traces</b> 
       
   131     <ul>
       
   132       <li>OST Traces 
       
   133         <p>The OST Traces pane shows OST trace output from the device before
       
   134         the crash. </p>
       
   135       </li>
       
   136       <li>Event Log 
       
   137         <p>The Event Log pane shows the last 30 events that occurred in the
       
   138         device before the crash. Only the window and key events are
       
   139         captured.</p>
       
   140       </li>
       
   141     </ul>
       
   142   </li>
       
   143   <li><b>Errors &amp; Warnings</b> 
       
   144     <p>This tab shows all possible errors and warnings occurring during the
       
   145     decoding process.</p>
       
   146     <p><b>Note!</b> If no errors or warnings have occurred, then this tab is
       
   147     not shown.</p>
       
   148   </li>
       
   149   <li><b>XML</b> 
       
   150     <p>This tab shows the raw data which other tabs are visualising in more
       
   151     readable format. The other tabs do not show all the information contained
       
   152     in the raw data, so if some information is missing from one of the other
       
   153     tabs, you can try to find it from the XML tab.</p>
       
   154   </li>
    74 </ul>
   155 </ul>
    75 
   156 
    76 <div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
   157 <div id="footer">
    77 License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
   158 Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights
       
   159 reserved. License: <a
       
   160 href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.</div>
    78 </body>
   161 </body>
    79 </html>
   162 </html>