diff options
Diffstat (limited to 'docs/part-2/4_xds-gdb')
-rw-r--r-- | docs/part-2/4_xds-gdb/0_abstract.md | 24 | ||||
-rw-r--r-- | docs/part-2/4_xds-gdb/1_config.md | 86 | ||||
-rw-r--r-- | docs/part-2/4_xds-gdb/2_build.md | 21 | ||||
-rw-r--r-- | docs/part-2/4_xds-gdb/3_debug.md | 3 |
4 files changed, 134 insertions, 0 deletions
diff --git a/docs/part-2/4_xds-gdb/0_abstract.md b/docs/part-2/4_xds-gdb/0_abstract.md new file mode 100644 index 0000000..d282efa --- /dev/null +++ b/docs/part-2/4_xds-gdb/0_abstract.md @@ -0,0 +1,24 @@ +# xds-gdb: wrapper on gdb for XDS + +`xds-gdb` is a wrapper on gdb debugger for X(cross) Development System. + +This tool allows you to debug an application built with an xds-server without +the need to install gdb or any cross tool. + +Two debugging models are supported: + +1. native debugging + +1. XDS remote debugging requiring an XDS agent/server setup. That allows you to + easily cross debug your application. + + By default XDS debug model is used and you need to define `XDS_NATIVE_GDB` +variable to use native gdb debug mode instead. + +--- + +Links to subchapters : + +- [Configuration](./1_config.html) +- [Build from scratch](./2_build.html) +- [Debugging](./3_debug.html) diff --git a/docs/part-2/4_xds-gdb/1_config.md b/docs/part-2/4_xds-gdb/1_config.md new file mode 100644 index 0000000..8568f18 --- /dev/null +++ b/docs/part-2/4_xds-gdb/1_config.md @@ -0,0 +1,86 @@ +# Configuration + +`xds-gdb` configuration is defined by variables (see listed below). + +These variables may be set using: + +- environment variables (inherited), +- or a config file set with `XDS_CONFIG` environment variable, for example: + `XDS_CONFIG=/tmp/my_xds_gdb_config.env xds-gdb` +- or by setting variables within a gdb ini file (see details below), +- or a "user" config file located in following directory (first found is taken): + 1. $(CURRENT_DIRECTORY)/.xds-gdb.env + 1. $(CURRENT_DIRECTORY)/../xds-gdb.env + 1. $(CURRENT_DIRECTORY)/target/xds-gdb.env + 1. $(HOME)/.config/xds/xds-gdb.env + +## Configuration Variables + +`XDS_CONFIG` + +Config file defining `XDS_xxx` configuration variables. + +Variables of this file will overwrite inherited environment variables. + +Variables definition may be prefixed or not by "export" keyword. + +Here is an example of config file: + +```bash +cat $HOME/myProject/xds-gdb.env + +export XDS_AGENT_URL=http://localhost:8800 +export XDS_PROJECT_ID=4021617e-ced0-11e7-acd2-3c970e49ad9b +export XDS_SDK_ID=c226821b-b5c0-386d-94fe-19f807946d03 +``` + +`XDS_LOGLEVEL` + +Set logging level + +Supported levels: + +- panic +- fatal +- error +- warn +- info +- debug + +`XDS_LOGFILE` + +Set logging file, default `/tmp/xds-gdb.log`. + +`XDS_NATIVE_GDB` + +Use native gdb mode instead of XDS mode. + +`XDS_PROJECT_ID` *(mandatory in XDS mode)* + +Project ID you want to build + +`XDS_RPATH` + +Relative path into project + +`XDS_SDK_ID` *(mandatory in XDS mode)* + +Cross Sdk ID to use to build project + +`XDS_AGENT_URL` + +Local XDS agent url (default `http://localhost:8800`) + +## Configuration variables set within gdb init command file + +Above `XDS_xxx` variables may also be defined within gdb init command file +(see --command or -x option of genuine Gdb). + +You must respect the following syntax: commented line including `:XDS-ENV:` tag + +Example of gdb init file where we define project and sdk ID: + +```bash + # :XDS-ENV: XDS_PROJECT_ID=4021617e-ced0-11e7-acd2-3c970e49ad9b + # :XDS-ENV: XDS_SDK_ID=c226821b-b5c0-386d-94fe-19f807946d03 +``` diff --git a/docs/part-2/4_xds-gdb/2_build.md b/docs/part-2/4_xds-gdb/2_build.md new file mode 100644 index 0000000..5cc0ca8 --- /dev/null +++ b/docs/part-2/4_xds-gdb/2_build.md @@ -0,0 +1,21 @@ +# How to build xds-gdb from scratch + +## Dependencies + +Install [Go](https://golang.org/doc/install) and some other tools. + +Refer to [Prerequisites chapter](../1_Prerequisites.html) for more details. + +## Building + +Clone this repo into your `$GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds` and use delivered Makefile: + +```bash + export GOPATH=$(realpath ~/workspace_go) + mkdir -p $GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds + cd $GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds + git clone https://gerrit.automotivelinux.org/gerrit/src/xds/xds-gdb + # or git clone ssh://YOUR_USERNAME@gerrit.automotivelinux.org:29418/src/xds/xds-gdb + cd xds-gdb + make +``` diff --git a/docs/part-2/4_xds-gdb/3_debug.md b/docs/part-2/4_xds-gdb/3_debug.md new file mode 100644 index 0000000..80554ec --- /dev/null +++ b/docs/part-2/4_xds-gdb/3_debug.md @@ -0,0 +1,3 @@ +# Debug + +Visual Studio Code launcher settings can be found into `.vscode/launch.json`. |