diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2019-05-13 10:20:49 -0700 |
---|---|---|
committer | Scott Rifenbark <srifenbark@gmail.com> | 2019-05-13 10:20:49 -0700 |
commit | b95a114ffacccac056ada90c5a71552f5c02e628 (patch) | |
tree | 3ff0d0f0a57a843eaa9969e33a525ea2e164008f /docs/part-1/debug-cmd-line.md | |
parent | 1f5d90ae52bcfe0b60c5e4a343a05548608a9a4a (diff) |
XDS install and app (flounder) added
I have removed files no longer used for XDS installation
and application creation. I have replaced with the
appropriately named files. I have updated the
devguides-book-yml file to be "flounder" specific.
Change-Id: Ib0d4b44bf3c7668e00e9b2075b31a4f8d9a63918
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Diffstat (limited to 'docs/part-1/debug-cmd-line.md')
-rwxr-xr-x | docs/part-1/debug-cmd-line.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/part-1/debug-cmd-line.md b/docs/part-1/debug-cmd-line.md new file mode 100755 index 0000000..2c25517 --- /dev/null +++ b/docs/part-1/debug-cmd-line.md @@ -0,0 +1,69 @@ +# Debug using xds-gdb from command line + +## XDS remote debugging mode + +First the project you want to debug must be declared on an xds-server and this +project may also has been built using using XDS (see [Create your first AGL application](../../../#create-your-first-agl-application) for more details). + +So to debug it you need to have the XDS agent - server chain in place and +you also need the project and sdk unique id. + +You can find these IDs in project page of XDS dashboard or you can get them from command line using the `--list` option. + +This option lists all existing projects ID: + +```bash +xds-gdb --list +``` + +Now to refer your project, just set `XDS_PROJECT_ID` and `XDS_SDK_ID` variables. + +You are now ready to use `xds-gdb` to for example cross debug your project. + +Here is an example to build and debug a project based on CMakefile and +[cmake-apps-module](https://git.automotivelinux.org/src/cmake-apps-module/): + +```bash +# Go into your project directory (for example helloworld-native-application) +cd ~/xds-workspace +git clone https://github.com/iotbzh/helloworld-native-application.git +cd helloworld-service + +# Declare your project on xds-server +# <for now, you can only do this step using xds HTML dashboard (see xds-server doc)> + +# Define XDS config +cat <<EOF >./xds-config.env +#optional if not default value: XDS_AGENT_URL=http://localhost:8800 +XDS_PROJECT_ID=IW7B4EE-DBY4Z74_myProject +XDS_SDK_ID=poky-agl_aarch64_4.0.1 +EOF + +# Tell to xds-cli and xds-gdb which is your config file +export XDS_CONFIG=../xds-gen3.conf + +# Create a new build directory +mkdir build && cd build + +# Start remote cross build +xds-cli exec -- cmake -DRSYNC_TARGET=root@myTarget .. +xds-cli exec -- make +xds-cli exec -- make remote-target-populate + +# Start debugging +xds-gdb -x target/gdb-on-root@myTarget.ini +``` + +<!-- section-note --> +**Note:** : [helloworld-native-application](https://github.com/iotbzh/helloworld-native-application) project is an AGL +project based on [cmake-apps-module](https://git.automotivelinux.org/src/cmake-apps-module/) +(refer to install cmake module [instructions](../../cmakeafbtemplates/dev_guide/installing-cmake.html)). This CMake templating, used to develop application +with the AGL Application Framework, will automatically generate makefile rules +(eg. `remote-target-populate`) or scripts (eg. `build/target/xxx` scripts). + +For more info about app-template, please refer to [this documentation](../../../#using-the-cmake-applications-module). +<!-- end-section-note --> + +## Native debugging + +To enable native debugging mode, you need to define `XDS_NATIVE_GDB` variable. |