PM123 Debug Log Files

The debug builds of PM123 since version 1.32 can write a detailed log file with almost any internal action taken in PM123. These logfiles are intended to help developers to find bugs.

Release builds do not have the logging feature, since it eats quite a bit CPU resources. You will get an empty file in this case.

How to enable logging?

Start PM123 from the command line with:

PM123 2>log.txt

This will start an instance of PM123 with logging enabled. The log is written to the file log.txt in the current directory. Of course, you can specify any other location, too.

Note that the log files can grow very fast. You will get in the order of 1GiB per hour while PM123 is playing.

The logging is always done to stderr, but it is redirected to nul unless you explicitly redirect it to somewhere else.

Log file format

tttttttt pppp:tttt ssssssss mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
=============================================================================
00000291 0050:0001 00216a30 PluginList(102704)::find(D:\TEMP\J\os2audio.dll)
tttttttt
Time index in units of CLOCKS_PER_SEC.
Usually milliseconds, but the resolution is not that fine.
pppp
Process ID.
tttt
Thread ID.
ssssssss
Stack pointer as hex number.
mmmmmmmmmm...
Message text. This text usually starts with the method and optionally the class or module where the logging comes from. The syntax convention is: class(this-pointer)::method(arguments) or module:method(arguments).