Runtime Toggled Debug Logging

Runtime Toggled Debug Logging — methods to quickly turn logging on and off for portions of GSK.


enum        GskDebugFlags;
extern      const gboolean gsk_debugging_on;
void        gsk_debug_set_flags             (GskDebugFlags flags);
void        gsk_debug_add_flags             (GskDebugFlags flags);
extern      GskDebugFlags gsk_debug_flags;


These functions allow you to programmitcally set the GSK debugging flags. Usually, one sets these at runtime instead, by using the --gsk-debug=FLAGS command-line argument to your program.

In any event, GSK's debugging facilities are only available if GSK itself was configured with gsk-debug support, by specifying [--enable-gsk-debug] to GSK's configure script.


enum GskDebugFlags

typedef enum
  GSK_DEBUG_IO     		= (1<<0),
  GSK_DEBUG_STREAM 		= (1<<1),
  GSK_DEBUG_STREAM_DATA         = (1<<3),
  GSK_DEBUG_MAIN_LOOP		= (1<<5),
  GSK_DEBUG_DNS			= (1<<6),
  GSK_DEBUG_HOOK		= (1<<7),
  GSK_DEBUG_SSL     		= (1<<8),
  GSK_DEBUG_HTTP     		= (1<<9),
  GSK_DEBUG_FTP     		= (1<<10),
  GSK_DEBUG_REQUEST 		= (1<<11),
  GSK_DEBUG_FD                  = (1<<12),

  GSK_DEBUG_ALL			= 0xffffffff
} GskDebugFlags;

Flags which may be turned on to print debugging messages about them.

GSK_DEBUG_IO I/O hook debugging.
GSK_DEBUG_STREAM Read/write debugging.
GSK_DEBUG_STREAM_LISTENER Server listener debugging.
GSK_DEBUG_STREAM_DATA Stream debugging by dumping all the data exchanged with the stream.
GSK_DEBUG_LIFETIME Debug object lifetime issues.
GSK_DEBUG_MAIN_LOOP Debug main-loop behavior.
GSK_DEBUG_DNS Debug name lookup behavior.
GSK_DEBUG_HOOK Debug hooks.
GSK_DEBUG_SSL Debug SSL (a secure transport layer, used by https).
GSK_DEBUG_HTTP Debug HTTP, the protocol used for web pages.
GSK_DEBUG_FD Debug file-descriptor usage.
GSK_DEBUG_ALL All debug flags.


extern const gboolean gsk_debugging_on;

Whether debugging is on.

This corresponds with whether GSK's <program>configure</program> script was run with the [--enable-gsk-debug] option.

gsk_debug_set_flags ()

void        gsk_debug_set_flags             (GskDebugFlags flags);

Set which types of debug logs to emit.

flags : debug bits to start logging.

gsk_debug_add_flags ()

void        gsk_debug_add_flags             (GskDebugFlags flags);

Add new types of debug logs to emit.

flags : debug bits to start logging.


extern GskDebugFlags gsk_debug_flags;