diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2019-05-27 17:39:19 -0700 |
---|---|---|
committer | Scott Rifenbark <srifenbark@gmail.com> | 2019-05-30 10:41:43 -0700 |
commit | a1dc3b8fa4a69545a624b9439435cda1b293c374 (patch) | |
tree | 3ede2e2e483ef9ca6a03ccd1e77a4590f854ca7c | |
parent | 00bbaf42a1a3ca3e3078876ef4c75b5adc1b1d18 (diff) |
XDS debug cmd-line: Minor edits "flounder"
Amended commit to describe that flounder uses CMake
app-template files. Added references to them in the note.
Amended commit to get rid of whitespace.
Amended commit to get rid of bullet in note saying you cannot
develop applications using CMake.
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Change-Id: I870364ddbf57a22dd64ee02dbf4ea085f6f6de6f
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
-rwxr-xr-x | docs/part-1/debug-cmd-line.md | 93 |
1 files changed, 66 insertions, 27 deletions
diff --git a/docs/part-1/debug-cmd-line.md b/docs/part-1/debug-cmd-line.md index 2c25517..1bda711 100755 --- a/docs/part-1/debug-cmd-line.md +++ b/docs/part-1/debug-cmd-line.md @@ -1,51 +1,79 @@ -# Debug using xds-gdb from command line +# Using the XDS Command Line -## XDS remote debugging mode +You can debug your AGL application using the XDS command line +in XDS remote mode or in native 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). +## XDS Remote Mode -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. +XDS remote debugging is the default mode for using XDS to debug your +application. -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: +Follow this procedure to use XDS remotely to debug your application: -```bash -xds-gdb --list -``` +1. Declare the project you want to debug to the `xds-server`. + The project can also have been built using XDS. + See the "[Create your first AGL application](../../../#create-your-first-agl-application)" + topic for more details. + +2. Be sure you have the XDS agent and XDS server chain in place. + You can find more information on this chain in the + "[Installing XDS](../../../#installing-xds)" topic. + +3. Determine the unique project and SDK ID values. + Two methods exist for you to locate these ID values: + + - Use the "Project" page of the XDS dashboard. + + - Use the `xds-gdb --list` command from the XDS command line. + This command returns the list of all existing project and SDK + IDs: -Now to refer your project, just set `XDS_PROJECT_ID` and `XDS_SDK_ID` variables. + ```bash + xds-gdb --list + ``` -You are now ready to use `xds-gdb` to for example cross debug your project. +4. Define the `XDS_PROJECT_ID` and `XDS_SDK_ID` variables. + Defining these variables refers the project to the + `xds-server`. + Once you refer the project, you are ready to use `xds-gdb` + (e.g. cross debug your project). -Here is an example to build and debug a project based on CMakefile and +5. Build and debug the project. + +**Example** + +Following is an example that builds and debugs a project +based on a CMakefile and the [cmake-apps-module](https://git.automotivelinux.org/src/cmake-apps-module/): ```bash -# Go into your project directory (for example helloworld-native-application) +# Go into your project directory (e.g. helloworld-native-application) cd ~/xds-workspace +# Clone the project files into your local directory. git clone https://github.com/iotbzh/helloworld-native-application.git +# Go to the local project's directory. 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)> +# For now, you can only do this step using the XDS Dashboard. +# See the "Build Using the XDS Dashboard" topic in the "Create Your +# First Application" topic. -# Define XDS config +# Define XDS configuration variables by creating a "xds-config.env" file. 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 +# Define the configuration file to use. export XDS_CONFIG=../xds-gen3.conf -# Create a new build directory +# Create a new build directory. mkdir build && cd build -# Start remote cross build +# Start remote cross-build xds-cli exec -- cmake -DRSYNC_TARGET=root@myTarget .. xds-cli exec -- make xds-cli exec -- make remote-target-populate @@ -55,15 +83,26 @@ 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). +**NOTES:** +- The + [helloworld-native-application](https://github.com/iotbzh/helloworld-native-application) + project is an AGL project that is based on CMake. + +- For the Flounder release, the AGL CMake template files are included + as a Git submodule (i.e. + [cmake-apps-module](https://git.automotivelinux.org/src/cmake-apps-module/)). -For more info about app-template, please refer to [this documentation](../../../#using-the-cmake-applications-module). +- For information about CMake template files (app-template), please refer to the + "[App-templates](../../2_4-Use-app-templates/README.html)" topic. <!-- end-section-note --> ## Native debugging -To enable native debugging mode, you need to define `XDS_NATIVE_GDB` variable. +Native debugging is best for applications or services that are also +built natively and you want to use any debugger (e.g. GDB) on an actual +piece of hardware. + +To enable native debugging mode, set the `XDS_NATIVE_GDB` variable. + +For information on debugging with GDB, see +"[Debugging with GDB](https://www.sourceware.org/gdb/onlinedocs/gdb.html)". |