WINEDEBUG is an environment variable that turns debugging messages on or off.
Syntax
WINEDEBUG=[class][+/-]channel[,[class2][+/-]channel2]
class is optional and can be one of the following: err, warn, fixme, or trace. If class is not specified, all debugging messages for the specified channel are turned on. Each channel will print messages about a particular component of Wine. The following character can be either + or - to switch the specified channel on or off respectively. If there is no class part before it, a leading + can be omitted. Note that spaces are not allowed any where in the string.
channel specifies which debug channel to turn on or off. For complete list of channels run this command in the source dir
grep -r --include='*.c' --include='*.h' 'WINE_\(DEFAULT\|DECLARE\)_DEBUG_CHANNEL' dlls/ programs/
And with some more work we have sorted and formatted list in BASH (you may want to adjust number 23 near the end of this composite to match your indentation taste):
for modname in $(find dlls/ programs/ -mindepth 1 -type d | sort); do echo $(grep -rE --include='*.[ch]' '^WINE_(DEFAULT|DECLARE)_DEBUG_CHANNEL' $modname | awk -F "[()]" '{print $2}' | sort | uniq) | awk -v modname=$modname '{if (NF>0) printf("%-*s%s\n", 23, modname": ", $0)}'; done
List of Debug Channels
accel |
acledit |
actctx |
activeds |
actxprxy |
adpcm |
advapi |
advpack |
alsa |
amstream |
animate |
appbar |
appwizcpl |
aspi |
atl |
atom |
avicap |
avifile |
bidi |
bitblt |
bitmap |
browseui |
button |
cabinet |
capi |
cards |
caret |
cdrom |
class |
clipboard |
clipping |
clusapi |
cmd |
cmdlgtst |
combo |
comboex |
comm |
commctrl |
commdlg |
compstui |
computername |
console |
coreaudio |
cred |
credui |
crtdll |
crypt |
cryptasn |
cryptdlg |
cryptdll |
cryptnet |
cryptui |
ctapi32 |
curses |
cursor |
d3d |
d3d10 |
d3d7 |
d3d8 |
d3d9 |
d3d_caps |
d3d_constants |
d3d_decl |
d3d_draw |
d3drm |
d3d_shader |
d3d_surface |
d3d_texture |
d3dx |
d3dx8 |
d3dxof |
datetime |
dbghelp |
dbghelp_coff |
dbghelp_dwarf |
dbghelp_msc |
dbghelp_stabs |
dbghelp_symt |
dc |
dciman |
ddeml |
ddraw |
ddraw_thunk |
debug_buffer |
debugstr |
devenum |
dialog |
dinput |
dll |
dma |
dmband |
dmcompos |
dmdump |
dmfile |
dmfileraw |
dmime |
dmloader |
dmscript |
dmstyle |
dmsynth |
dmusic |
dmusic32 |
dnsapi |
dosmem |
dpa |
dplay |
dpnet |
dpnhpast |
driver |
ds |
dsa |
dsalsa |
dscapture |
dsound |
dsound3d |
dssenh |
dswave |
dwmapi |
dxdiag |
edit |
eject |
enhmetafile |
environ |
event |
eventlog |
exec |
explorer |
faultrep |
fiber |
file |
fixup |
font |
fps |
fusion |
g711 |
gdi |
gdiplus |
global |
glu |
gpkcsp |
graphics |
handle |
header |
heap |
hid |
hlink |
hnetcfg |
hook |
hotkey |
htmlhelp |
iccvid |
icm |
icmp |
icon |
imagehlp |
imagelist |
imm |
imports |
inetcomm |
inetmib1 |
infosoft |
initpki |
inkobj |
inseng |
int |
int21 |
int31 |
io |
ipaddress |
iphlpapi |
itircl |
itss |
jack |
joystick |
jscript |
key |
keyboard |
listbox |
listview |
loaddll |
local |
localspl |
localui |
lsa |
mapi |
mci |
mciavi |
mcicda |
mcimidi |
mciwave |
mdi |
menu |
menubuilder |
message |
metafile |
midi |
mixer |
mlang |
mmaux |
mmio |
mmsys |
mmtime |
module |
monthcal |
mountmgr |
mpeg3 |
mpr |
mprapi |
msacm |
mscat |
mscms |
mscoree |
msdmo |
msftedit |
msg |
msgbox |
mshtml |
msi |
msidb |
msiexec |
msimg32 |
msimtf |
msisip |
msisys |
msnet |
msrle32 |
mssip32 |
mstask |
msvcirt |
msvcr71 |
msvcrt |
msvcrt40 |
msvidc32 |
msvideo |
mswsock |
msxml |
nativefont |
nddeapi |
netapi32 |
netbios |
newdev |
nls |
nonclient |
ntdll |
ntdsapi |
ntlm |
ntoskrnl |
ntprint |
objsel |
odbc |
ole |
oleacc |
oledlg |
olemalloc |
olerelay |
olethk32 |
oleview |
opengl |
pager |
|
palette |
pdh |
pidl |
powermgnt |
powrprof |
printui |
process |
profile |
progress |
|
propsheet |
propsys |
psapi |
psdrv |
pstores |
qcap |
qcap_v4l |
qedit |
qmgr |
quartz |
query |
ras |
rebar |
recyclebin |
reg |
regedit |
region |
relay |
resource |
resutils |
richedit |
richedit_check |
richedit_lists |
richedit_style |
rpc |
rpcss |
rundll32 |
sblaster |
sccbase |
schannel |
scroll |
secur32 |
seh |
selector |
sensapi |
server |
service |
setupapi |
sfc |
share |
shdocvw |
shell |
shlctrl |
slbcsp |
slc |
snmpapi |
snoop |
sound |
spoolss |
spoolsv |
start |
static |
statusbar |
storage |
stress |
string |
svchost |
svrapi |
sxs |
sync |
synchronous |
syslevel |
system |
systray |
tab |
tape |
tapi |
task |
text |
theming |
themingcombo |
thread |
threadpool |
thunk |
tid |
time |
toolbar |
toolhelp |
tooltips |
trackbar |
trash |
treeview |
twain |
typelib |
typelib2 |
uninstaller |
uniscribe |
updown |
url |
urlmon |
user |
userenv |
uxtheme |
variant |
vdmdbg |
ver |
virtual |
volume |
vxd |
wave |
wavemap |
wc_font |
wgl |
win |
wineboot |
winebrowser |
winecfg |
wineconsole |
wine_d3d |
winedbg |
winedevice |
winemine |
winevdm |
wing |
winhelp |
winhttp |
wininet |
winmm |
winscard |
winsock |
winspool |
winstation |
wintab |
wintab32 |
wintrust |
wldap32 |
wnet |
wtsapi |
x11drv |
x11settings |
xcopy |
xdg |
xdnd |
xrandr |
xrender |
xvidmode |
Examples
- WINEDEBUG=warn+all
- will turn on all warning messages.
- WINEDEBUG=warn+dll,+heap
- will turn on DLL warning messages and all heap messages.
- WINEDEBUG=fixme-all,warn+cursor,+relay
- will turn off all FIXME messages, turn on cursor warning messages, and turn on all relay messages (API calls).
- WINEDEBUG=relay
will turn on all relay messages. For more control on including or excluding functions and dlls from the relay trace look into the [HKCU\Software\Wine\Debug] registry key (See UsefulRegistryKeys).
See Also
Environment Variables: WINEDEBUG - chapter of the Wine User Guide
WineAPI documentation - For each function the used debug channels are listed.
http://bugs.winehq.org/show_bug.cgi?id=638 - Bug tracking documenting the debugging channel. Has a perl script to list all channels in a function.
