Install notepad.exe in c:\windows too.
[wine] / documentation / bugs.sgml
1   <chapter id="bugs">
2     <title>Finding and Reporting Bugs</title>
3
4     <sect1 id="bug-reporting">
5       <title>How To Report A Bug</title>
6
7       <para>
8         Written by (???)
9       </para>
10       <para>
11         (Extracted from <filename>wine/documentation/bugreports</filename>)
12       </para>
13
14       <para>
15         There are two ways for you to make a bug report. One uses a
16         simple perl script, and is recommended if you don't want to
17         spend a lot of time producing the report. It is designed for
18         use by just about anyone, from the newest of newbies to
19         advanced developers. You can also make a bug report the hard
20         way -- advanced developers will probably prefer this.
21       </para>
22       <para>
23         When using either approach please report the problem you found
24         along with any relevant information to
25         <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
26       </para>
27
28       <sect2>
29         <title>The Easy Way</title>
30         <orderedlist>
31           <listitem>
32             <para>
33               Your computer <emphasis>must</emphasis> have perl on it
34               for this method to work. To find out if you have perl,
35               run <command>which perl</command>. If it returns something like
36               <filename>/usr/bin/perl</filename>, you're in business.
37               Otherwise, skip on down to "The Hard Way". If you aren't
38               sure, just keep on going. When you try to run the
39               script, it will become <emphasis>very</emphasis> apparent
40               if you don't have perl.
41             </para>
42           </listitem>
43           <listitem>
44             <para>
45               Change directory to <filename>&lt;dirs to
46                 wine>/tools</filename>
47             </para>
48           </listitem>
49           <listitem>
50               <para>
51                 Type in <command>./bug_report.pl</command> and follow
52                 the directions.
53             </para>
54           </listitem>
55           <listitem>
56             <para>
57               Post the bug to
58               <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
59               Please, search Bugzilla database to check whether your problem is
60               already found before posting a bug report.
61               Include your own detailed description of the problem with
62               relevant information. Attach the "Nice Formatted Report"
63               to the submitted bug. Do not cut and paste the report
64               in the bug description - it is pretty big.
65               Keep the full debug output in case it will be needed by
66               Wine developers.
67             </para>
68           </listitem>
69         </orderedlist>
70       </sect2>
71
72       <sect2>
73         <title>The Hard Way</title>
74         <para>
75           Some simple advice on making your bug report more useful
76           (and thus more likely to get answered and fixed):
77         </para>
78         <orderedlist>
79           <listitem>
80             <para>Post as much information as possible.</para>
81             <para>
82               This means we need more information than a simple "MS
83               Word crashes whenever I run it.  Do you know why?"
84               Include at least the following information:
85             </para>
86             <itemizedlist spacing="compact">
87               <listitem>
88                 <para>Version of Wine you're using (run <command>wine
89                     -v</command>)</para>
90               </listitem>
91               <listitem>
92                 <para>
93                   Operating system you're using, what distribution (if
94                   any), and what version
95                 </para>
96               </listitem>
97               <listitem>
98                 <para>Compiler and version (run <command>gcc -v</command>)</para>
99               </listitem>
100               <listitem>
101                 <para>Windows version, if used with Wine.
102                 Mention if you don't use Windows</para>
103               </listitem>
104               <listitem>
105                 <para>
106                   Program you're trying to run, its version number,
107                   and a URL for  where the program can be obtained (if
108                   available)
109                 </para>
110               </listitem>
111               <listitem>
112                 <para>Command line you used to start wine</para>
113               </listitem>
114               <listitem>
115                 <para>
116                   Any other information you think may be relevant or
117                   helpful, such as X server version in case of X
118                   problems, libc version etc.
119                 </para>
120               </listitem>
121             </itemizedlist>
122           </listitem>
123           <listitem>
124             <para>
125               Re-run the program with the <parameter>--debugmsg
126                 +relay</parameter> option (i.e., <command>wine
127                 --debugmsg +relay sol.exe</command>).
128             </para>
129             <para>
130               If Wine crashes while running your program, it is
131               important that we have this information to have a chance
132               at figuring out what is causing the crash.  This can put
133               out quite a lot (several MB) of information, though, so
134               it's best to output it to a file.  When the <prompt>Wine-dbg></prompt>
135               prompt appears, type <userinput>quit</userinput>.
136             </para>
137             <para>
138               You might want to try
139               <parameter>+relay,+snoop</parameter> instead of
140               <parameter>+relay</parameter>, but please note that
141               <parameter>+snoop</parameter> is pretty unstable and
142               often will crash earlier than a simple
143               <parameter>+relay</parameter>! If this is the case, then
144               please use <emphasis>only</emphasis> <parameter>+relay</parameter>!! A bug
145               report with a crash in <parameter>+snoop</parameter>
146               code is useless in most cases!
147               You can also turn on other parameters, depending on the nature
148               of the problem you are researching. See wine man page for full list
149               of the parameters.
150             </para>
151             <para>
152               To get the trace output, use the following commands:
153             </para>
154
155             <variablelist>
156               <varlistentry>
157                 <term>all shells:</term>
158                 <listitem>
159                   <screen>
160 <prompt>$ </prompt>echo quit | wine -debugmsg +relay [other_options] program_name >& filename.out;
161 <prompt>$ </prompt>tail -n 100 filename.out > report_file
162                   </screen>
163                   <para>
164                     (This will print wine's debug messages only to the file and then
165                     auto-quit. It's probably a good idea to use this command, since wine
166                     prints out so many debug msgs that they flood the terminal, eating CPU.)
167                   </para>
168                 </listitem>
169               </varlistentry>
170               <varlistentry>
171                 <term>tcsh and other csh-like shells:</term>
172                 <listitem>
173                   <screen>
174 <prompt>$ </prompt>wine -debugmsg +relay [other_options] program_name |& tee filename.out;
175 <prompt>$ </prompt>tail -100 filename.out > report_file
176                   </screen>
177                 </listitem>
178               </varlistentry>
179               <varlistentry>
180                 <term>bash and other sh-like shells:</term>
181                 <listitem>
182                   <screen>
183 <prompt>$ </prompt>wine -debugmsg +relay [other_options] program_name 2>&1 | tee filename.out;
184 <prompt>$ </prompt>tail -100 filename.out > report_file
185                   </screen>
186                 </listitem>
187               </varlistentry>
188             </variablelist>
189             <para>
190               <filename>report_file</filename> will now contain the
191               last hundred lines of the debugging output, including
192               the register dump and backtrace, which are the most
193               important pieces of information.  Please do not delete
194               this part, even if you don't understand what it means.
195             </para>
196           </listitem>
197           <listitem>
198             <para>
199               Post the bug to <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
200               Please, search the Bugzilla database to check whether your problem
201               is already reported. If it is already reported attach the bug report
202               and add any other relevant information to the original bug report.
203             </para>
204             <para>
205               In your post, include all of the information from part
206               1), and attach to the bug the output file in part 2).
207               If you do this, your chances of receiving some sort of
208               helpful response should be very good.
209             </para>
210           </listitem>
211         </orderedlist>
212       </sect2>
213     </sect1>
214  </chapter>
215
216 <!-- Keep this comment at the end of the file
217 Local variables:
218 mode: sgml
219 sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
220 End:
221 -->