wiki:FAQ/Debugging

Version 2 (modified by Thore Böckelmann, 5 years ago) (diff)

Debugging

  1. Basics about the debug version of muimaster.library

Basics about the debug version of muimaster.library

All of MUI's debugging facilities are controlled by an ENV variable called "muidebug". Just set this variable to the classes you want to get debugging information for. All debugging messages will be sent to the serial port by default and must be captured with a second computer connected via a nullmodem cable. Alternatively you can redirect the output to a console window or a file using a tool like Sashimi.

The contents of the ENV variable "muidebug" are treated as a concatenated string of these words. Each enables a specific set of debugging messages. The single words should be separated by either spaces or commas. All currently available debug flags are:

  • class - all class related stuff
  • object - all object related stuff
  • window - all window related stuff
  • config - all configuration related stuff
  • pop - all pop object related stuff
  • prefs - all preferences related stuff
  • menu - all menu related stuff
  • list - all List.mui related stuff
  • area - all Area.mui related stuff
  • screen - all screen related stuff
  • boopsi - all BOOPSI related stuff
  • color - all color management related stuff
  • image - all image management related stuff
  • layout - all layout related stuff
  • app - all Application.mui related stuff
  • task - all subtask related stuff
  • data - all Dataspace.mui related stuff
  • input - all input event related stuff
  • lib - all library open/close related stuff
  • bubble - all bubble help related stuff
  • mcc - all external custom class related stuff
  • dir - all Dirlist.mui related stuff
  • asl - all ASL requester related stuff
  • layer - all layer related stuff
  • method - all method related stuff
  • misc - misc stuff
  • all - all of the above

Examples:

setenv muidebug screen,task

This will output all messages related to MUI's public screen handling along with the task handling involved.

setenv muidebug all

This will enable all debugging messages. Note: the debug output will become very large and verbose!!

Make sure to set ENV:muidebug before starting the first MUI application. Otherwise all debugging output will be disabled. Please note that even without any active debugging output the behaviour of MUI and all of its classes may differ from the non-debug version, as all the debugging stuff is still happening in the background. It is just not sent anywhere!