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"
...
@@ -271,8 +271,9 @@ winedbg "hl.exe -windowed"
<para>
<para>
This file describes where to start debugging Wine. If at any
This file describes where to start debugging Wine. If at any
point you get stuck and want to ask for help, please read the
point you get stuck and want to ask for help, please read the
file <filename>documentation/bugreports</filename> for
<emphasis>How to Report A Bug</emphasis> section of the
information on how to write useful bug reports.
<emphasis>Wine Users Guide</emphasis> for information on how to write
useful bug reports.
</para>
</para>
<sect2>
<sect2>
...
@@ -311,8 +312,7 @@ winedbg "hl.exe -windowed"
...
@@ -311,8 +312,7 @@ winedbg "hl.exe -windowed"
<para>
<para>
Steps to debug a crash. You may stop at any step, but please
Steps to debug a crash. You may stop at any step, but please
report the bug and provide as much of the information
report the bug and provide as much of the information
gathered to the newsgroup or the relevant developer as
gathered to the bug report as feasible.
feasible.
</para>
</para>
<orderedlist>
<orderedlist>
...
@@ -362,17 +362,26 @@ winedbg "hl.exe -windowed"
...
@@ -362,17 +362,26 @@ winedbg "hl.exe -windowed"
If you have found a misbehaving function, try to find out
If you have found a misbehaving function, try to find out
why it misbehaves. Find the function in the source code.
why it misbehaves. Find the function in the source code.
Try to make sense of the arguments passed. Usually there is
Try to make sense of the arguments passed. Usually there is
a <function>
TRACE(<channel>,"(...)\n");</function> at
a <function>
WINE_DEFAULT_DEBUG_CHANNEL(<channel>);</function>
the beginning of the function
. Rerun wine with
at the beginning of the file
. Rerun wine with
<parameter>-debugmsg +xyz,+relay</parameter> added to the
<parameter>-debugmsg +xyz,+relay</parameter> added to the
commandline.
commandline.
</para>
</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>
<listitem>
<listitem>
<para>
<para>
Additional information on how to debug using the internal
Additional information on how to debug using the internal
debugger can be found in
debugger can be found in
<filename>
debugger
/README</filename>.
<filename>
programs/winedbg
/README</filename>.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
...
@@ -386,29 +395,25 @@ winedbg "hl.exe -windowed"
...
@@ -386,29 +395,25 @@ winedbg "hl.exe -windowed"
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
If even that isn't enough, add more debug output for
If even that isn't enough, add more debug output for
yourself
yourself into the functions you find relevant. See
into the functions you find relevant. See The section on Debug
<filename>documentation/debug-msgs</filename>
. You might
Logging in this guide for more information
. You might
also try to run the program in <command>gdb</command>
also try to run the program in <command>gdb</command>
instead of using the WINE-debugger. If you do that, use
instead of using the WINE-debugger. If you do that, use
<parameter>handle SIGSEGV nostop noprint</parameter> to
<parameter>handle SIGSEGV nostop noprint</parameter> to
disable the handling of seg faults inside
disable the handling of seg faults inside
<command>gdb</command> (needed for Win16). If you don't use
<command>gdb</command> (needed for Win16).
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.
</para>
</para>
</listitem>
</listitem>
<listitem>
<listitem>
<para>
<para>
You can also set a breakpoint for that function. Start wine
You can also set a breakpoint for that function. Start wine
with the <parameter>--debug</parameter> option added to the
useing <command>winedbg</command> instead of
commandline. After loading the executable wine will enter
<command>wine</command>. Once the debugger is is running enter
the internal debugger. Use <parameter>break
<command>break</command> <parameter>KERNEL_LSTRLEN</parameter>
KERNEL_LSTRLEN</parameter> (replace by function you want
(replace by function you want to debug, CASE IS RELEVANT)
to
debug, CASE IS RELEVANT) to set a breakpoint. Then use
to
set a breakpoint. Then
<command>continue</command> to start normal
use
<command>continue</command> to start normal
program-execution. Wine will stop if it reaches the
program-execution. Wine will stop if it reaches the
breakpoint. If the program isn't yet at the crashing call
breakpoint. If the program isn't yet at the crashing call
of that function, use <command>continue</command> again
of that function, use <command>continue</command> again
...
@@ -425,6 +430,7 @@ winedbg "hl.exe -windowed"
...
@@ -425,6 +430,7 @@ winedbg "hl.exe -windowed"
<title>Program hangs, nothing happens</title>
<title>Program hangs, nothing happens</title>
<para>
<para>
<emphasis>Fix me - this is out of date </emphasis>
Switch to UNIX shell, get the process-ID using <command>ps -a |
Switch to UNIX shell, get the process-ID using <command>ps -a |
grep wine</command>, and do a <command>kill -HUP
grep wine</command>, and do a <command>kill -HUP
<pid></command> (without the < and >). Wine will
<pid></command> (without the < and >). Wine will
...
@@ -449,8 +455,7 @@ winedbg "hl.exe -windowed"
...
@@ -449,8 +455,7 @@ winedbg "hl.exe -windowed"
</para>
</para>
<para>
<para>
Since the failure happens usually directly before setting up
Since the failure happens usually directly before setting up
the Messagebox you can start wine with
the Messagebox you can start winedbg and set a
<parameter>--debug</parameter> added to the commandline, set a
breakpoint at <function>MessageBoxA</function> (called by win16
breakpoint at <function>MessageBoxA</function> (called by win16
and win32 programs) and proceed with
and win32 programs) and proceed with
<command>continue</command>. With <parameter>--debugmsg
<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