Purpose

The module CoreControl permits the access and modification of many ML settings, like exception handling, number of used threads, cache size and debugging symbols.

Usage

n the panel Host&Cache you can set whether module errors lead to program crashes or whether they are handled by the error handler of the ML (Catch Exceptions).

The Debug panel permits setting/viewing of debug symbols which enable/disable debug outputs of module and ML classes.

In the Error Handling panel the behavior of the ML can be controlled and how messages, warnings or errors are to be handled.

Details

It is important to understand that some settings in the ML are global, i.e. they are not specific for one module, but hold for the complete running system. Such settings are e.g. the maximum number of threads, the (maximum) cache size or the list of classes which shall print debugging information. Those global settings can be controlled in this module.

Also there is a central class - the ML ErrorOutput class - which receives all messages generated in the ML and ML modules and decides to which other classes this information is sent. It can be configured e.g. by debugging symbols to control the actually printed debug information.

Other classes receiving information from the ErrorOutput class are typically modules like MLLogFile, Console or the standard console.

Tips

As intented, any debug environment name written in the field Debug Symbols (Use ML_ + CLASSNAME) is globally available as long as the module exists. If the module is deleted, the symbols are removed from the ML ErrorOutput class.

Note that simply deleting the module from the network does not delete the module since the module is only moved into an undo buffer; so the symbols remain until the undo buffer is cleared. You can clear the buffer by selecting “Clear History” from the edit menu of the network. Closing the entire network also clears the undo buffer.

Since global ML settings are handled by this module, all modules always will show the same state for all these settings. If more than one module exists, changes in any of them are synchronized. That also means that the most recently changed or loaded module determines the global ML states and will override settings of other modules.

Windows

Default Panel

../../../Modules/ML/MLControl/mhelp/Images/Screenshots/CoreControl._default.png

Parameter Fields

Visible Fields

Symbol controlled debugging

name: symbolControlledDebugging, type: Bool, default: TRUE

If checked, all strings from the text input Debug Symbols (Use ML_ + CLASSNAME) are being analyzed.

All classes that print debug information dependent on these symbols are activated and will print their information.

Otherwise no debug information is printed.

Enable all symbols

name: fullDebugging, type: Bool, default: FALSE

If checked, all debug information is printed.

Debug State

name: debugState, type: String, persistent: no

Shows whether debug symbols can be used.

On Information

name: onInformation, type: Enum, default: Continue

Defines what to do on information messages.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Warnings

name: onWarnings, type: Enum, default: Continue

Defines what to do on warnings.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Errors

name: onErrors, type: Enum, default: Continue

Defines what to do on errors.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Fatals

name: onFatals, type: Enum, default: Abort

Defines what to do on fatal errors.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Debugs

name: onDebugs, type: Enum, default: Continue

Defines what to do on debug messages.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Couts

name: onCouts, type: Enum, default: Continue

Defines what to do on std::cout prints.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Cerrs

name: onCerrs, type: Enum, default: Continue

Defines what to do on std::cerr prints.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

On Others

name: onOthers, type: Enum, default: Continue

Defines what to do on other messages.

Values:

Title Name Deprecated Name
Continue Continue  
Abort Abort Abort(0)
Exit With Zero ExitWithZero Exit(0)
Exit With Error Code ExitWithErrorCode Exit(ErrCode)

Max Number of Threads

name: maxNumThreads, type: Integer, default: 8

Sets the maximum number of threads the ML may use.

Enable final runtime check

name: finalRuntimeChecks, type: Bool, default: FALSE

If checked, the number of undeleted runtime typed object instances is being checked during the closing of MeVisLab.

Catch exceptions

name: catchExceptions, type: Bool, default: FALSE

If checked, exceptions are handled as fatal errors instead of letting the application crash.

Cache Size

name: cacheSizeInMB, type: Integer, default: 4068

Sets the number of mega bytes of memory the ML should not exceed for caching.

Currently Used Cache Memory

name: currUsedCacheSizeInMB, type: Integer, persistent: no

Shows the size of the currently used ML cache in mega bytes.

Clear Cache

name: clearCache, type: Trigger

If pressed, the ML cache is cleared.

Debug Symbols (Use ML_ + CLASSNAME)

name: debugSymbols, type: String

Sets the debug symbols defined in this module.

See Debugging and Error Handling.

Global Debug Symbols

name: globalDebugSymbols, type: String, persistent: no

Shows the application wide debug symbols.

Major ML Version (majorVersionCC)

name: majorVersionCC, type: Integer, persistent: no

Shows the major version of the CoreControl module.

Major C-API Version (majorCAPIVersionCC)

name: majorCAPIVersionCC, type: Integer, persistent: no

Shows the major version of the C-API of the CoreControl module.

C++-API Version (versionOfCPPAPICC)

name: versionOfCPPAPICC, type: Integer, persistent: no

Shows the version number of the C++ API of the CoreControl module.

C-API Revision (revisionOfCAPICC)

name: revisionOfCAPICC, type: Integer, persistent: no

Shows the revision number of the C-API of the CoreControl module.

Revision (revisionCC)

name: revisionCC, type: Integer, persistent: no

Shows the revision number of the CoreControl module.

Version String (versionStringCC)

name: versionStringCC, type: String, persistent: no

Shows all version information of the CoreControl module as a version string.

Major ML Version (majorVersion)

name: majorVersion, type: Integer, persistent: no

Shows the major ML version.

Major C-API Version (majorCAPIVersion)

name: majorCAPIVersion, type: Integer, persistent: no

Shows the major version of the ML C-API.

C++-API Version (versionOfCPPAPI)

name: versionOfCPPAPI, type: Integer, persistent: no

Shows the version number of the C++ API of the ML.

C-API Revision (revisionOfCAPI)

name: revisionOfCAPI, type: Integer, persistent: no

Shows the revision number of the C-API of the ML.

Revision (revision)

name: revision, type: Integer, persistent: no

Shows the revision number of the ML.

Version String (versionString)

name: versionString, type: String, persistent: no

Shows all version information of the ML as a version string.

System Type

name: systemType, type: String, persistent: no

Shows the voxel addressing scheme and the system pointer size in bits.

The string is composed of two parts separated by ‘/’.

The first part shows which word width is used for voxel addressing indices, the second part shows the word width of the system.

If the first part is 32, an image may have at most 2^31 voxels. If the first part is 64, larger images can be handled if they are paged correctly even if the system is only a 32 bit system.

If the second part is 32, a 32 bit system is used and not more then 2GB of data is available for the process. If the second part is 64, very large memory and images can be handled.

Compiler

name: compiler, type: String, persistent: no

Shows which compiler was used to compile the CoreControl module.

Platform

name: platform, type: String, persistent: no

Shows which Platform the CoreControl module was compiled on.

Trace List Depth

name: traceListDepth, type: Integer, default: 128

Shows the depth of the trace list.

Trace Stack Depth

name: traceStackDepth, type: Integer, default: 128

Shows the depth of the trace stack.

Trace On Information

name: traceOnInformation, type: Bool, default: FALSE

If checked, dumps trace infos on information messages.

Trace On Warnings

name: traceOnWarnings, type: Bool, default: FALSE

If checked, dumps trace infos on warnings.

Trace On Errors

name: traceOnErrors, type: Bool, default: FALSE

If checked, dumps trace infos on on errors.

Trace On Fatals

name: traceOnFatals, type: Bool, default: TRUE

If checked, dumps trace infos on on fatal errors.

Trace On Debugs

name: traceOnDebugs, type: Bool, default: FALSE

If checked, dumps trace infos on on debug messages.

Trace On Couts

name: traceOnCouts, type: Bool, default: FALSE

If checked, dumps trace infos on on std::cout prints.

Trace On Cerrs

name: traceOnCerrs, type: Bool, default: FALSE

If checked, dumps trace infos on on std::cerr prints.

Trace On Others

name: traceOnOthers, type: Bool, default: FALSE

If checked, dumps trace infos on on other messages.

Hidden Fields

useClassicHost

name: useClassicHost, type: Bool, default: FALSE