Debuggers
This section contains library compounds for configuring Thallium debug output through the use of debuggers.
Types
Objects
-
typedef struct TL_Debugger_t TL_Debugger_t
A structure used to debug Thallium operations.
This structure can be created and passed to Thallium functions to receive debug messages. This is necessary to recieve errors and warnings, for example.
See also
See also
See also
Descriptors
-
struct TL_DebuggerDescriptor_t
A structure describing a Thallium debugger object to be created.
This structure describes a debugger object to be created.
Public Members
-
TL_DebugSeverityFlags_t severities
Bit field of severity flags - messages of these severities will be reported.
-
TL_DebugSourceFlags_t sources
Bit field of source flags - messages from these sources will be reported.
-
TL_DebugCallbackfn_t callback
NULL or the callback function for the debugger to use (NULL reverts to the default Thallium debugger behaviour)
-
void *pointer
NULL or callback pointer for the user callback (
callback
) to recieve.
-
TL_DebugSeverityFlags_t severities
-
struct TL_DebuggerAttachmentDescriptor_t
A structure describing a Thallium debugger attachment.
This structure describes a debugger attachment.
A debug attachment refers to the idea of immutably ‘attaching’ a debugger to a context at creation time, allowing for more detailed debug output. More specifically, this enables API-specific debug functionality. For example, Vulkan debug utils are enabled for use by Vulkan renderers.
Public Members
-
const TL_Debugger_t *debugger
Debugger to link the attachment to.
-
const TL_Debugger_t *debugger
Function Pointers
-
typedef void (*TL_DebugCallbackfn_t)(char *msg, TL_DebugSeverityFlags_t sev, TL_DebugSourceFlags_t src, void *ptr)
The function pointer type for custom debugger message callbacks.
This is the function pointer type for custom debugger message callbacks. This can be used to configure the handling of messages reported by Thallium debuggers.
See also
TL_Debugger_t
- Param msg:
The basic message string reported by the Thallium API.
- Param sev:
The severity of the debug message - see TL_DebugSeverityFlags_t.
- Param src:
The source of the debug message (e.g. Thallium, Vulkan, etc) - see TL_DebugSourceFlags_t.
- Param ptr:
NULL, or the user-configured pointer passed to the debugger creation descriptor
Enums
-
enum TL_DebugSeverityFlags_t
Enumeration containing severities to describe debug messages.
This enumeration contains severities to describe debug messages.
See also
TL_Debugger_t
See also
Values:
-
enumerator TL_DEBUG_SEVERITY_VERBOSE_BIT = 0x10
Log messages.
-
enumerator TL_DEBUG_SEVERITY_NOTIF_BIT = 0x08
Notification messages.
-
enumerator TL_DEBUG_SEVERITY_WARNING_BIT = 0x04
Warning messages.
-
enumerator TL_DEBUG_SEVERITY_ERROR_BIT = 0x02
Error messages.
-
enumerator TL_DEBUG_SEVERITY_FATAL_BIT = 0x01
Fatal error messages.
-
enumerator TL_DEBUG_SEVERITY_ALL_BIT = 0x1f
All message severities.
-
enumerator TL_DEBUG_SEVERITY_VERBOSE_BIT = 0x10
-
enum TL_DebugSourceFlags_t
Enumeration containing sources to describe debug messages.
This enumeration contains message sources to describe debug messages.
See also
TL_Debugger_t
See also
Values:
-
enumerator TL_DEBUG_SOURCE_THALLIUM_BIT = 0x20
Messages reported by core Thallium functions.
-
enumerator TL_DEBUG_SOURCE_VULKAN_BIT = 0x10
Messages reported by Vulkan renderer systems.
-
enumerator TL_DEBUG_SOURCE_ALL_BIT = 0x3f
All message sources.
-
enumerator TL_DEBUG_SOURCE_THALLIUM_BIT = 0x20
Functions
-
TL_Debugger_t *TL_DebuggerCreate(const TL_DebuggerDescriptor_t descriptor)
Create a debugger with the specified configuration options.
This function creates a debugger with the specified configuration options.
See also
TL_Debugger_t
- Parameters:
descriptor – a TL_DebuggerDescriptor_t descriptor structure.
- Returns:
Pointer to the new debugger
-
void TL_DebuggerDestroy(TL_Debugger_t *const debugger)
Free the given debugger object.
This function frees the specified debugger object.
- Parameters:
debugger – The debugger object to free.