Eclipse, Could not start gdbserver on the remote host

Hello all,

A few months ago I installed Eclipse on Ubuntu 18.04 (following the instructions on Configure Eclipse - Getting Started with Toradex) and I was able to debug my application on the Colibri iMX7D that I am using. At that time, the module ran on Angstrom v2017.12.

Lately I updated the module to Torizon 5.6.0 build 13 and Eclipse is now complaining that it cannot start gdb. In the Eclipse debug configuration, “GDB debugger” is still configured as “arm-angstrom-linux-gnueabi-gdb” which is probably wrong …

So my (very basic) question is, how do I install GDB on the module and configure Eclipse such that I can debug again ?

Note that I do not use Docker (yet). I suppose it is possible to install GDB and debug an application without using docker ?

(The reason I migrated to Torizon is that I want to modify the device tree)

Thanks for your help.

Jeroen

Environment :
Colibri iMX7D 1GB, V1.1A board
torizon-core-docker-evaluation-colibri-imx7-emmc-Tezi_5.6.0+build.13.container

Dear @ompie,

As you’re using TorizonCore, we’d recommend you to follow the quickstart guide to Torizon (Module 2: First Steps with Torizon). With Torizon we had set up a development extension on VisualStudio & VisualStudio Code to help customers develop their applications. Did you have the time to look at it Torizon Application Development With Visual Studio Code | Toradex Developer Center? Would this be a suitable solution for you?

The extensions can do most of the work on the background for you.

Please tell me if that works. Otherwise, you can come back any time.

Hi, thanks for having replied.

I did have a quick look at the Visual Studio solution but I would like to add yet another IDE to the list that I’m already using for various other projects. Eclipse is an IDE that I already use.
And since Toradex itself already has lots of articles about using Eclipse I wonder why this should not work with Torizon.
Another thing is that I don’t want to start using Docker immediately since it adds another ‘new thing’ to this project which already involves lots of new stuff (Torizon, modifying device trees, using the M4 core for real time stuff, etc.)

Isn’t there simply an equivalent of apt-get or yum to install GDB ? Or even just a tar/zip with the executables ?

Thanks

Hi @ompie,

Thanks for the feedback. We currently have no Eclipse workflow setup for TorizonCore but there are a few works on improving our tools and even developing new ones. Therefore, if you wish, we can forward the intention to use Eclipse to our team but we cannot guarantee that this will be available anytime soon.

Maybe you could check Eclipse extensions to work with Docker: https://marketplace.eclipse.org/content/eclipse-docker-tooling.


About this second part of your message, I’d like to clarify a few points from TorizonCore. This distribution was built so that you could abstract most things off your project and rely on containers for your application development. The base distro will not come with apt-get nor any other things like that as you could simply add the desired packages to a container. This helps especially as you’d not need to generate a new custom image for every new package that you’d need. You can simply update the docker container.

You can find more information about it here: Torizon OS Technical Overview | Toradex Developer Center. You can try to modify your TorizonCore image to have GDB by default following this: Build Torizon OS from Source With Yocto Project/OpenEmbedded | Toradex Developer Center but it’d be easier to add it to the container on which you plan to run your application as the distribution was originally designed to work.

Please tell me if my explanations help you.

Best regards,

Hi @gclaudino.tx ,

I would certainly appreciate it if Toradex adds an Eclipse workflow for Torizon !
In the meanwhile, I’ll have a look at the proposed link for extensions and also to the possibility to use containers with gdb included.
Work on this project is not full time so I may not be able to report back immediately, but I’ll certainly keep you informed about any progress I’ll make and which may help you guys as well.

Jeroen

Well, if arm-angstrom-linux-gnueabi-gdb is still installed on your host machine, then it should work (… with your Linux target, but not necessarily with Torizon target, I don’t know).
Alternatively on Ubuntu you may use gdb-multiarch (sudo apt install gdb-multiarch), then just replace “GDB debugger” setting with gdb-multiarch.

Eclipse error messages often are cryptic and not helpful. I had problems with default Yocto ssh variant (dropbear, isn’t it?). From some version Eclipse just got unable to talk to it. Switching to openssh (openssh-sshd) solved Eclipse gdb issue. On Linux target you could use “opkd list | grep ssh” to reveal ssh variant.

HI @Edward !

Thanks for sharing this tip!

I want to remark that opkg list | grep ssh would work only on Linux distros built with opkg (usually set by the PACKAGE_CLASSES ?= "package_ipk" line on our build/conf/local.conf) package management system (Opkg – Yocto Project) and not on TorizonCore, as all “package operations” must be performed from within containers.

Best regards,