aboutsummaryrefslogtreecommitdiffstats
path: root/docs/part-2/4_xds-gdb
diff options
context:
space:
mode:
Diffstat (limited to 'docs/part-2/4_xds-gdb')
-rw-r--r--docs/part-2/4_xds-gdb/0_abstract.md24
-rw-r--r--docs/part-2/4_xds-gdb/1_config.md86
-rw-r--r--docs/part-2/4_xds-gdb/2_build.md21
-rw-r--r--docs/part-2/4_xds-gdb/3_debug.md3
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`.