GDebugController: GIO Reference Manual

## GDebugController GDebugController — Debugging controller |

## Functions

gboolean | g_debug_controller_get_debug_enabled ()
void | g_debug_controller_set_debug_enabled ()

## Properties

gboolean | debug-enabled | Read / Write

## Types and Values

| GDebugController
struct | GDebugControllerInterface
#define | G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME

## Object Hierarchy

        GInterface
        ╰── GDebugController

## Prerequisites

GDebugController requires GInitable and GObject.

## Known Implementations

GDebugController is implemented by GDebugControllerDBus.

## Includes

    #include <gio/gio.h>

## Description

GDebugController is an interface to expose control of debugging features and debug output.

It is implemented on Linux using GDebugControllerDBus, which exposes a D-Bus interface to allow authenticated peers to control debug features in this process.

Whether debug output is enabled is exposed as “debug-enabled”. This controls `g_log_set_debug_enabled()` by default. Application code may connect to the “notify” signal for it to control other parts of its debug infrastructure as necessary.

If your application or service is using the default GLib log writer function, creating one of the built-in implementations of GDebugController should be all that’s needed to dynamically enable or disable debug output.

## Functions

### g_debug_controller_get_debug_enabled ()

    gboolean
    g_debug_controller_get_debug_enabled (GDebugController *self);

Get the value of “debug-enabled”.

#### Parameters

self | a GDebugController |

#### Returns

`TRUE` if debug output should be exposed, `FALSE` otherwise

Since: 2.72

### g_debug_controller_set_debug_enabled ()

    void
    g_debug_controller_set_debug_enabled (GDebugController *self,
                                          gboolean debug_enabled);

Set the value of “debug-enabled”.

#### Parameters

self | a GDebugController |
debug_enabled | `TRUE` if debug output should be exposed, `FALSE` otherwise |

Since: 2.72

## Types and Values

### GDebugController

    typedef struct _GDebugController GDebugController;

GDebugController is an interface to expose control of debugging features and debug output.

Since: 2.72

### struct GDebugControllerInterface

    struct GDebugControllerInterface {
    };

The virtual function table for GDebugController.

#### Members

Since: 2.72

### G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME

    #define G_DEBUG_CONTROLLER_EXTENSION_POINT_NAME "gio-debug-controller"

Extension point for debug control functionality. See Extending GIO.

Since: 2.72

## Property Details

### The `“debug-enabled”` property

      “debug-enabled”            gboolean

`TRUE` if debug output should be exposed (for example by forwarding it to the journal), `FALSE` otherwise.

Owner: GDebugController

Flags: Read / Write

Default value: FALSE

Since: 2.72