Configuration

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.

  • XDS_LOGLEVEL

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

  • XDS_LOGFILE

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

  • XDS_NATIVE_GDB

    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.

  • XDS_RPATH

    The relative path to the project.

  • XDS_SDK_ID (mandatory in XDS mode)

    Cross SDK ID to use to build project

  • XDS_AGENT_URL

    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
EOF

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.

NOTES:

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