diff --git a/documentation/debugger.sgml b/documentation/debugger.sgml
index 98f19f2c50e..82e5313000b 100644
--- a/documentation/debugger.sgml
+++ b/documentation/debugger.sgml
@@ -271,8 +271,9 @@ winedbg "hl.exe -windowed"
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 documentation/bugreports for
- information on how to write useful bug reports.
+ How to Report A Bug section of the
+ Wine Users Guide for information on how to write
+ useful bug reports.
@@ -311,8 +312,7 @@ winedbg "hl.exe -windowed"
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.
@@ -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 TRACE(<channel>,"(...)\n"); at
- the beginning of the function. Rerun wine with
+ a WINE_DEFAULT_DEBUG_CHANNEL(<channel>);
+ at the beginning of the file. Rerun wine with
-debugmsg +xyz,+relay added to the
commandline.
+
+ Occasionally there are additional debug channels defined at the
+ begining of the file in the form.
+ WINE_DECLARE_DEBUG_CHANNEL(<channel>);
+ If so the offending fuction may also uses one of these alternate
+ channels. Look through the the function for
+ TRACE_(<channel>)(" ... /n"); and add any
+ additional channels to the commandline.
+
Additional information on how to debug using the internal
debugger can be found in
- debugger/README.
+ programs/winedbg/README.
@@ -386,29 +395,25 @@ winedbg "hl.exe -windowed"
- If even that isn't enough, add more debug output for
- yourself into the functions you find relevant. See
- documentation/debug-msgs. 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 gdb
instead of using the WINE-debugger. If you do that, use
handle SIGSEGV nostop noprint to
disable the handling of seg faults inside
- gdb (needed for Win16). If you don't use
- the --desktop or
- --managed option, start the WINE
- process with --sync, or chances are
- good to get X into an unusable state.
+ gdb (needed for Win16).
- You can also set a breakpoint for that function. Start wine
- with the --debug option added to the
- commandline. After loading the executable wine will enter
- the internal debugger. Use break
- KERNEL_LSTRLEN (replace by function you want
- to debug, CASE IS RELEVANT) to set a breakpoint. Then use
- continue to start normal
+ You can also set a breakpoint for that function. Start wine
+ useing winedbg instead of
+ wine. Once the debugger is is running enter
+ break KERNEL_LSTRLEN
+ (replace by function you want to debug, CASE IS RELEVANT)
+ to set a breakpoint. Then
+ use continue 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 continue again
@@ -425,6 +430,7 @@ winedbg "hl.exe -windowed"
Program hangs, nothing happens
+ Fix me - this is out of date
Switch to UNIX shell, get the process-ID using ps -a |
grep wine, and do a kill -HUP
<pid> (without the < and >). Wine will
@@ -449,8 +455,7 @@ winedbg "hl.exe -windowed"
Since the failure happens usually directly before setting up
- the Messagebox you can start wine with
- --debug added to the commandline, set a
+ the Messagebox you can start winedbg and set a
breakpoint at MessageBoxA (called by win16
and win32 programs) and proceed with
continue. With --debugmsg