Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
109fb9c5
Commit
109fb9c5
authored
Nov 30, 2002
by
Tony Lambregts
Committed by
Alexandre Julliard
Nov 30, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update the debugger documentation for current usage.
parent
5926cea7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
24 deletions
+29
-24
debugger.sgml
documentation/debugger.sgml
+29
-24
No files found.
documentation/debugger.sgml
View file @
109fb9c5
...
...
@@ -271,8 +271,9 @@ winedbg "hl.exe -windowed"
<para>
This file describes where to start debugging Wine. If at any
point you get stuck and want to ask for help, please read the
file <filename>documentation/bugreports</filename> for
information on how to write useful bug reports.
<emphasis>How to Report A Bug</emphasis> section of the
<emphasis>Wine Users Guide</emphasis> for information on how to write
useful bug reports.
</para>
<sect2>
...
...
@@ -311,8 +312,7 @@ winedbg "hl.exe -windowed"
<para>
Steps to debug a crash. You may stop at any step, but please
report the bug and provide as much of the information
gathered to the newsgroup or the relevant developer as
feasible.
gathered to the bug report as feasible.
</para>
<orderedlist>
...
...
@@ -362,17 +362,26 @@ winedbg "hl.exe -windowed"
If you have found a misbehaving function, try to find out
why it misbehaves. Find the function in the source code.
Try to make sense of the arguments passed. Usually there is
a <function>
TRACE(<channel>,"(...)\n");</function> at
the beginning of the function
. Rerun wine with
a <function>
WINE_DEFAULT_DEBUG_CHANNEL(<channel>);</function>
at the beginning of the file
. Rerun wine with
<parameter>-debugmsg +xyz,+relay</parameter> added to the
commandline.
</para>
<para>
Occasionally there are additional debug channels defined at the
begining of the file in the form.
<function>WINE_DECLARE_DEBUG_CHANNEL(<channel>);</function>
If so the offending fuction may also uses one of these alternate
channels. Look through the the function for
<function>TRACE_(<channel>)(" ... /n");</function> and add any
additional channels to the commandline.
</para>
</listitem>
<listitem>
<para>
Additional information on how to debug using the internal
debugger can be found in
<filename>
debugger
/README</filename>.
<filename>
programs/winedbg
/README</filename>.
</para>
</listitem>
<listitem>
...
...
@@ -386,29 +395,25 @@ winedbg "hl.exe -windowed"
</listitem>
<listitem>
<para>
If even that isn't enough, add more debug output for
yourself into the functions you find relevant. See
<filename>documentation/debug-msgs</filename>
. You might
If even that isn't enough, add more debug output for
yourself
into the functions you find relevant. See The section on Debug
Logging in this guide for more information
. You might
also try to run the program in <command>gdb</command>
instead of using the WINE-debugger. If you do that, use
<parameter>handle SIGSEGV nostop noprint</parameter> to
disable the handling of seg faults inside
<command>gdb</command> (needed for Win16). If you don't use
the <parameter>--desktop</parameter> or
<parameter>--managed</parameter> option, start the WINE
process with <parameter>--sync</parameter>, or chances are
good to get X into an unusable state.
<command>gdb</command> (needed for Win16).
</para>
</listitem>
<listitem>
<para>
You can also set a breakpoint for that function. Start wine
with the <parameter>--debug</parameter> option added to the
commandline. After loading the executable wine will enter
the internal debugger. Use <parameter>break
KERNEL_LSTRLEN</parameter> (replace by function you want
to
debug, CASE IS RELEVANT) to set a breakpoint. Then use
<command>continue</command> to start normal
You can also set a breakpoint for that function. Start wine
useing <command>winedbg</command> instead of
<command>wine</command>. Once the debugger is is running enter
<command>break</command> <parameter>KERNEL_LSTRLEN</parameter>
(replace by function you want to debug, CASE IS RELEVANT)
to
set a breakpoint. Then
use
<command>continue</command> to start normal
program-execution. Wine will stop if it reaches the
breakpoint. If the program isn't yet at the crashing call
of that function, use <command>continue</command> again
...
...
@@ -425,6 +430,7 @@ winedbg "hl.exe -windowed"
<title>Program hangs, nothing happens</title>
<para>
<emphasis>Fix me - this is out of date </emphasis>
Switch to UNIX shell, get the process-ID using <command>ps -a |
grep wine</command>, and do a <command>kill -HUP
<pid></command> (without the < and >). Wine will
...
...
@@ -449,8 +455,7 @@ winedbg "hl.exe -windowed"
</para>
<para>
Since the failure happens usually directly before setting up
the Messagebox you can start wine with
<parameter>--debug</parameter> added to the commandline, set a
the Messagebox you can start winedbg and set a
breakpoint at <function>MessageBoxA</function> (called by win16
and win32 programs) and proceed with
<command>continue</command>. With <parameter>--debugmsg
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment