When you face a problem and our support team is unable to reproduce it on our side, we often ask you for a debug log and send you the required DLLs for this.
Debug log with DLLs registration
Here is a description of gathering a log about a problem:
- Download debug DLLs the support team sends to you.
- Put the DLLs near the original ones. For example, if you need to create a log for MPlaylistD.dll, you should put the file in the same folder where the MPlaylistPXT.dll is located.
- Register the debug DLL files.
- Download a logging tool. You can download it in this article.
- Extract the archive into any folder.
- Run either register32.bat (for x86 DLLs) or register64.bat (for x64 DLLs). Type the name of an output log file and click the "Save" button. For multi-threading applications, you can select the "Append process name to log file name" option. Once enabled, you have several output log files.
- Run your application and reproduce the error. Sometimes you may have debug assertions. Try to ignore them by pressing the "Ignore" button (this information is also included in the output log file).
- Close the application.
- To disable logging you should remove the following registry branch for x86:
and for x64:
- Zip the output log file and send the archive back to the support team.
Sometimes output log file is too big for sending via email. In this case, there is a LogEditor utility (included in the logging tool archive - attached to this article). You can use it to cut some part of the log file (usually the last 100-150 MB) to make it shorter and smaller.
Debug log with manifest-based applications
If you use a manifest-based type of redistribution then you can't register a single DLL to make a log because the manifest uses a reference to a file using a path specified in the manifest.
In this case, you should copy the debug DLLs to the redistribution folder and replace the existing one with the debug. A good way for this is to rename the old one (to use it later) and use the original name for renaming the debug DLL - so the manifest has the same path to the DLL and you don't need to modify it.
The next steps starting from point 6 are the same.