MCTRL.DLL can be built in Release as well as in Debug configuration. In production, the release build should always be used. However for diagnostics, debugging and during development of you application, or even when developing mCtrl itself, the Debug build may be very helpful.
In general, the debug builds of
MCTRL.DLL should be binary compatible and usable as a drop-in replacement of the Release builds of
The Debug builds differs from the Release builds in the following ways:
gdbdoes not understand PDB format as produced by Microsoft's compiler.)
DebugBreak()or similar function instead of process termination so developer can perform further analyzes of the issue.)
MCTRL.DLLfunction called with an invalid parameter), it logs down a debug message explaining the issue. (See below for more details.)
Since version 0.10.0, debug builds (built with
gcc) are included in the released binary packages.
As noted above, the debug build of
MCTRL.DLL logs down some messages during the runtime of application linked with
MCTRL.DLL. The logging is performed via the
So this debug output may be seen with any application capable catching it, which includes Microsoft debugger within Microsoft Visual Studio (just run your application within the debugger),
gdb (ditto), or DebugView utility available from the package of SysInternals utilities (see https://technet.microsoft.com/en-us/sysinternals/).
Seeing this debug output may help whenever something with mCtrl goes wrong and this makes the Debug build of
MCTRL.DLL very valuable tool during application development:
MCTRL.DLLfails, the output may provide a hint about the reason.