Debug configuration (i.e. xds-gdb) is defined by variables. You can see the variables used further down in this section.

You can set these variables using a number of methods:

  • Environment variables that are inherited.

  • Configuration file pointed to by the XDS_CONFIG environment variable (e.g. XDS_CONFIG=/tmp/my_xds_gdb_config.env xds-gdb).

  • A GDB “init” command file.

  • A “user” configuration file located in one of the following areas, which are order-dependent:

    1. $(CURRENT_DIRECTORY)/.xds-gdb.env

    2. $(CURRENT_DIRECTORY)/../xds-gdb.env

    3. $(CURRENT_DIRECTORY)/target/xds-gdb.env

    4. $(HOME)/.config/xds/xds-gdb.env

Configuration Variables

This section describes the XDS_* configuration variables. As previously mentioned, you can define these variables as described in the previous section.


    Sets the logging level. Levels include “panic”, “fatal”, “error”, “warn”, “info”, and “debug”.


    Sets the logging file. The default is /tmp/xds-gdb.log.


    Specifies to use native GDB mode rather than remote XDS mode.

  • XDS_PROJECT_ID (mandatory in XDS mode)

    The project ID you want to build.


    The relative path to the project.

  • XDS_SDK_ID (mandatory in XDS mode)

    Cross SDK ID to use to build project


    The local XDS agent URL. The default is http://localhost:8800.

Configuration Using XDS_CONFIG

As mentioned, you can define configuration variables in a file you point to with the XDS_CONFIG variable. Here is an example:

XDS_CONFIG=/tmp/my_xds_gdb_config.env xds-gdb

Variables defined in this file overwrite any inherited environment variables. When you define a variable in the file, you can prefix the assignment with the “export” string. Doing so causes the variable to be exported to the environment.

Following is an example of a configuration file pointed to by the XDS_CONFIG variable. These commands create the xds-gen3.conf configuration file in the $MY_PROJECT_DIR directory:

# MY_PROJECT_DIR=/home/seb/xds-workspace/helloworld-native-application
cat > $MY_PROJECT_DIR/xds-gen3.conf << EOF
export XDS_AGENT_URL=localhost:8800
export XDS_PROJECT_ID=4021617e-ced0-11e7-acd2-3c970e49ad9b
export XDS_SDK_ID=c226821b-b5c0-386d-94fe-19f807946d03

Configuration Using GDB Init

GDB is a versatile debugger and can be run with many options. One such option is to execute a GDB “init” file upon startup. You do this by using the “–command” or “-x” command-line options and providing the name of the init file.


When you create an init file, it must conform to the following syntax (i.e. inclusion of what are normally commenting characters as well as use of the :XDS-ENV: tag).

Following is an example init file that defines the XDS_PROJECT_ID and XDS_SDK_ID variables:

     # :XDS-ENV: XDS_PROJECT_ID=4021617e-ced0-11e7-acd2-3c970e49ad9b
     # :XDS-ENV: XDS_SDK_ID=c226821b-b5c0-386d-94fe-19f807946d03