aboutsummaryrefslogtreecommitdiffstats
path: root/docs/part-2/2_xds-agent/4_debug.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/part-2/2_xds-agent/4_debug.md')
-rw-r--r--docs/part-2/2_xds-agent/4_debug.md69
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/part-2/2_xds-agent/4_debug.md b/docs/part-2/2_xds-agent/4_debug.md
new file mode 100644
index 0000000..9490c4b
--- /dev/null
+++ b/docs/part-2/2_xds-agent/4_debug.md
@@ -0,0 +1,69 @@
+# Debugging
+
+## XDS agent architecture
+
+The agent part is written in *Go* and the webapp / dashboard is in *typescript + Angular4*.
+
+```bash
+|
++-- bin/ where xds-server binary file will be built
+|
++-- conf.d Linux configuration and startup files (systemd user service)
+|
++-- glide.yaml Go package dependency file
+|
++-- lib/ sources of server part (Go)
+|
++-- main.go main entry point of of Web server (Go)
+|
++-- Makefile makefile including
+|
++-- README.md this readme
+|
++-- scripts/ hold various scripts used for installation or startup
+|
++-- tools/ temporary directory to hold development tools (like glide)
+|
++-- vendor/ temporary directory to hold Go dependencies packages
+|
++-- webapp/ source client basic webapp / dashboard
+```
+
+## Debug
+
+Visual Studio Code launcher settings can be found into `.vscode/launch.json`.
+
+>**Tricks:**
+>
+>To debug both `xds-agent` and `xds-server` or common code
+>`xds-common`, it may be useful use the same local sources.
+>
+>So you should replace `xds-server` + `xds-common` in `vendor` directory by a symlink.
+>
+>So clone first `xds-server` + `xds-common` sources next to `xds-agent` directory.
+
+You should have the following tree:
+
+```bash
+tree -L 5 --charset=ascii src/
+src/
+`-- gerrit.automotivelinux.org
+ `-- gerrit
+ `-- src
+ `-- xds
+ |-- backup.sh
+ |-- xds-agent
+ |-- xds-cli
+ |-- xds-common
+ |-- xds-docs
+ |-- xds-gdb
+ `-- xds-server
+```
+
+Then invoke `vendor/debug` Makefile rule to create a symlink inside vendor
+directory :
+
+```bash
+cd src/gerrit.automotivelinux.org/gerrit/src/xds/xds-agent
+make vendor/debug
+```