# Running and debugging libaccounts-glib applications

There are various debugging techniques available for applications which use libaccounts-glib.

## Environment variables

There are several environment variables which can aid in debugging libaccounts-glib applications by changing runtime behavior.

## Supported envionment variables

`ACCOUNTS`

- Specifies the path to the accounts database. If this is unset, the database is stored in `$XDG_CONFIG_HOME/libaccounts-glib`, which normally expands to `~/.config/libaccounts-glib`.

`AG_DEBUG`

- Can be set to a list of debug options, which causes libaccounts-glib to print different debug information.

  ## `AG_DEBUG` options

  `time`

- Print timing debug messages.

`refs`

- Print reference-counting debug messages.

`locks`

- Print locking debug messages.

`queries`

- Print SQL query debug messages.

`info`

- Print miscellaneous debug messages.

The special value `all` can be used to turn on all debug options.

In order for debug messages to be printed, libaccounts-glib must have been configured with the option `--enable-debug`. Additionally, GLib must be configured to print debug messages at the required debug level, for example with `G_MESSAGES_DEBUG` set to `all`.

`AG_APPLICATIONS`

- Specifies the path to search for application-file-format.

`AG_PROVIDERS`

- Specifies the path to search for provider-file-format.

`AG_SERVICES`

- Specifies the path to search for service-file-format.

`AG_SERVICE_TYPES`

- Specifies the path to search for service-type-file-format.