Finish the conversion of HWND to a void*.
[wine/multimedia.git] / documentation / bugs.sgml
blobdea0b18c02f9597a9e40a4cbdebe0ae8279ba0da
1 <chapter id="bugs">
2 <title>Finding and Reporting Bugs</title>
4 <sect1 id="bug-reporting">
5 <title>How To Report A Bug</title>
7 <para>
8 Written by (???)
9 </para>
10 <para>
11 (Extracted from <filename>wine/documentation/bugreports</filename>)
12 </para>
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>
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>
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>
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>
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: