Debug Logging

Written by Dimitrie O. Paun , 28 Mar 1998

(Extracted from wine/documentation/debug-msgs)

Note

It is possible to turn on and of debugging output from within the debuger using the set command. Please see the WineDbg Command Reference section for how to do this.

Important

At the end of the document, there is a "Style Guide" for debugging messages. Please read it.

Debugging classes

There are 4 types (or classes) of messages:

FIXME

Messages in this class are meant to signal unimplemented features, known bugs, etc. They serve as a constant and active reminder of what needs to be done.

Examples: stubs, semi-implemented features, etc.

ERR

Messages in this class relate to serious errors in Wine. This sort of messages signal an inconsistent internal state, or more general, a condition which should never happen by design.

Examples: unexpected change in internal state, etc.

WARN

These are warning messages. You should report a warning when something unwanted happen but the function behaves properly. That is, output a warning when you encounter something unexpected (ex: could not open a file) but the function deals correctly with the situation (that is, according to the docs). If you do not deal correctly with it, output a fixme.

Examples: fail to access a resource required by the app.

TRACE

These are detailed debugging messages that are mainly useful to debug a component. These are usually turned off.

Examples: everything else that does not fall in one of the above mentioned categories and the user does not need to know about it.