Hello There, Guest! (LoginRegister)

Skinning Documentation

Introduction to Skinning
Getting Started
What's a Skin in Messenger Plus! ?
How Does it Work?
Integration with Messenger
Your First Skin
Skins Essentials
Windows Definitions and Styles
The Trace File
Using Pictures
Packaging Your Skin
Specialized Subjects
Restrictions: How and Why?
Reshaping Your Windows
User Modifiable Options
Options for Advanced Users
Skinning Plus! Itself
XML Schemas Reference
SkinInfo Files
SkinInfo Information
SkinInfo Diagram
Schema Documentation
Messenger Plus! Interfaces
Interfaces Information
Schema Documentation

The Trace File

Windows Definition and Style Sheet files are complex and subject to typing errors. Similarly to XML, these structured files will fail to load completely at the first mistake detected by Messenger. When editing hundreds of lines, finding the precise problem can be tedious without any other guidance than a black window displayed on your screen. For this reason, Messenger Plus! provides more information about these problems, when they occur, in a special diagnostic file.

When an error is detected, like a parsing problem in a definition or style sheet file, a file called Skin Trace.txt is created in your skin's directory. This file is always generated by default but if you want to make sure it won't be created on your users' systems when distributing your skin, you can set the TraceFile element in Information to false. What you'll get in this file is a description of the error with some additional information generated by Messenger if the problem occurred outside of the Messenger Plus! scope.

Error Reporting

Several kinds of error can be logged in the trace file and each of them come with its own particular kind of information. For example, if any error concerns the parsing of text files by Messenger, the number of the faulty line will be specified at the end of the message. If the problem is related to a missing or corrupted file detected while the skin was loaded, the name of the file will be indicated. Here is an example of an event generated because a character was removed in a definition file:

07/11/20 21:23:41| **** The trace has started ****
07/11/20 21:23:41| Skin: Test Skin
07/11/20 21:23:41| Messenger version: 8.5.1302.1018 (en-us)
07/11/20 21:23:41| Messenger Plus! version: 4.50.302
07/11/20 21:23:41| Last definition file loaded: 947
07/11/20 21:23:41| Last style sheet file loaded: 923
07/11/20 21:23:41| Last picture file loaded: 652
07/11/20 21:23:41| DUIParserFailure: parse error '/' 6

The last line shown in this example is the one generated by Messenger. Everything above it is added by Messenger Plus! for diagnostic purposes, if needed. Because the error itself sometimes won't specify the source, it is useful to know which definition and style files were loaded by Messenger before the error occurred. So what you can guess from this trace is that an error occurred at line 6 of either the definition file of window 947 or the style sheet file of window 923. The date and time specified on the left is formatted as yy/mm/dd hh/mm/ss.

If a file mentioned in SkinInfo cannot be found or accessed, Messenger Plus! itself will report an error looking like this:

07/11/20 22:10:32| SkinLoader: Couldn't find file "pic329.png"

Remember that files that are not needed when your skin is loaded are not verified. This means for example that if you have a resource group declared for Messenger 8.1 and another one declared for Messenger 8.5, you'll need to test your skin with both versions of Messenger to make sure the trace file does not report anything wrong with your files.

Additional Information

Note that only errors related to some of Messenger resources are reported in this file and that all errors may not be caught. This file should only be used as a supplement of information. The absence of this file in your directory does not mean the absence of problems in your skin. Also, it is important to remember that because it is assumed that you're using a real XML Editor to create your SkinInfo.xml file and that your editor automatically validates your file with the SkinInfo schema upon saving, no error directly related to SkinInfo will be written in this trace.

Some errors may be reported several times by Messenger, for example, when a window is opened and when it is closed. Do not worry about that and concentrate on the lines where the error was detected. The first error generated by Messenger is generally the one to look at (following errors possibly resulting from the first one). Also, remember that the real problem may be located on the lines above or below the one reported by Messenger. A typo made on a previous line may be causing the next one to fail from being interpreted properly.

One last tip about the trace file: remember to delete it from your directory before packaging your files for public distribution, you probably don't want to share all your past mistakes with your users :-).

See Also

Skins Essentials, Windows Definitions and Styles.