sdk-ade-remote-debugging manual

high

Image Types:
basesdk-amd64 / sdk-amd64
Image Deployment:
APT
Type:
functional

Description

Test remote debugging with ADE. Cross-build an example HelloWorld agent, deploy it to the target device and debug it with proper backtraces.


Pre Conditions

  1. A SDK host.
  2. An ARM i.MX6 target device reachable via SSH from the SDK host.
  3. Access to the Apertis source code hosting service at:
  4. https://gitlab.apertis.org/

  5. Username and password for the target device.
  6. Check the IP address of the target device, you'll need it during configuration.
  7. gdbserver must be installed in the remote device. The debugging port (1234 by default) must be open.
  8. apertis-dev-tools package is installed on the SDK.

Execution Steps

  1. Install an ARM 32bit sysroot on the host
  2. $ ade sysroot install

  3. Enable key-based SSH login on the target device
  4. $ ssh-keygen -t rsa -m PEM

    $ ssh-copy-id USER@HOST

  5. Clone the source code for the HelloWorld sample agent on the SDK host
  6. $ git clone https://gitlab.apertis.org/sample-applications/helloworld-simple-agent

    $ cd helloworld-simple-agent

  7. Configure target device for debugging
  8. $ ade configure --debug --device user@$HOST

    $ ade export

    $ ade install --device user@$HOST

  9. Finally set up a debug connection to the target device
  10. $ ade debug --device user@$HOST


Expected

The sample "Hello World" agent is successfully bundled and pushed to the target device and the application bundle org.apertis.HelloWorldSimpleAgent is available under /Applications on the target device.

The debug connection to gdbserver running on the target device is set up succesfully, the execution of the debugged program can be controlled with GDB commands and the backtrace GDB command is able to resolve debug symbols and print meaningful stacktraces.