<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Incomplete Bug Report</title>
</head>
<body>
<table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody>
	<tr> 
    	<td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Incomplete Bug Report</font></font></td>
	</tr>
</table>

<br>
Bug reports and feature requests which do not provide enough information to be tackled are either resolved as <b>INVALID</b> or <b>WORKSFORME</b> if we think it's not a bug.
It is the reporter's task to first fill in all necessary information
and then reopen the report. Missing important information includes:<br>
<ul>
  <li>build id - the Build id can be found in the About dialog (<code>Help &gt; About Eclipse Platform</code>)</li>
  <li>try to provide steps to reproduce the problem and attach test resources (if possible)</li>
  <li>are other plug-ins installed? If so, which ones?
  <li>VM information - if not sure start eclipse using <code>-vmargs -showversion</code></li>
  <li>are there related entries in the .log file? - the log file is <code><span style="font-style: italic;">&lt;workspace location&gt;</span>/.metadata/.log</code><br>
  <ul>
    <li>if no, write it in the bug report<br>
    </li>
    <li>if yes, attach all related entries (it's better to attach the whole .log than miss related entries)</li>
  </ul>
  </li>
  <li>attach VM dump in case of VM crashes - normally the dumps can be found in the Eclipse install location</li>
  <li>attach stack dumps in case of deadlocks (<a href="http://wiki.eclipse.org/index.php/How_to_report_a_deadlock">how to report a deadlock</a>)</li>
  <li>attach stack dumps in case things that take (too) long - (<a href="http://wiki.eclipse.org/index.php/How_to_report_a_deadlock#Getting_a_stack_trace_on_Windows">how to get a stack trace</a>)</li>
  <li>attach preferences - if you think it depends on some preferences (e.g. worked before)</li>
  <li>attach formatter profile - if the report is about badly formatted code</li>
  <li>specify the concrete editor for editor bugs, e.g. "copy broken in Text editor" instead of "copy does not work in editor" (open context menu in Project Explorer and see the bullet in the "Open With" submenu)</li>
  <li>provide the keyboard layout and Locale if the bug is about key bindings not working or weird characters appearing on typing
</ul>
See also: <br>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
<tbody><tr><td align="left" valign="top" width="2%"><img src="http://dev.eclipse.org/images/Adarrow.gif" border="0" height="16" width="16"></td>
    <td> <b><a href="http://www.chiark.greenend.org.uk/%7Esgtatham/bugs.html">How 
      to Report Bugs Effectively</a></b> - Excellent tips on writing quality bug 
      reports.</td>
  </tr>
  <tr> 
    <td align="left" valign="top" width="2%"><img src="http://dev.eclipse.org/images/Adarrow.gif" border="0" height="16" width="16"></td>
    <td> <b><a href="https://bugs.eclipse.org/bugs/bugwritinghelp.html">Bug Writing Guidelines</a></b> 
      - Bug writing guidelines from the Bugzilla team.</td></tr></tbody>
</table>
<br>
</body></html>