Hi All,
This one’s for the Legato gurus
Can you supply me with some instructions for using GDB from DS3 to the Legato please.
Got an application that’s segfaulting and I need to trap where the fault is happening.
ta, Dave
Hi All,
This one’s for the Legato gurus
Can you supply me with some instructions for using GDB from DS3 to the Legato please.
Got an application that’s segfaulting and I need to trap where the fault is happening.
ta, Dave
Hi Dave,
here are some instructions to get GDB working with your Legato Linux app:
[ul]
[li] In the project explorer, select your project, and go to right-click menu > Debug As > Debug Configurations…[/li]
[li] Double-click on C/C++ Remote Application to create a new configuration[/li]
[li] There are only few things to configure from there:
[list]
[]Check that you’re using the correct Connection in the drop-down list[/li]
[li]Configure the path of your binary on the remote system. e.g. if your binary is named hello, you can set it to /tmp/hello. It will be the path on the device where Eclipse copies your project binary before debugging it.[/li]
[li]On the Debugger tab, set the GDB debugger command to ${externalTool:legato-linux-gdb-client}. This will allow to use the ARM Linux gdb client that is bundled in DS3.[/li][/ul][/:m][/list:u]
… and you should be done. Launch the debug session and enjoy!
Hi Daav.
Excellent, Thank You.
Now beaten into shape.
There are a couple of ‘gotchas’ in the debug process - the main one is that the scp process can’t build the path to put the debug executable. For example:
C/C++ application is Debug/Hello
Project is Hello
connection properties remote workspace location is /home/root
When you try to debug, the debug process tries to put the executable at /home/root/Hello/Debug - which doesn’t exist and the scp process can’t (or doesn’t) make the path - so the debug session startup fails. If you ssh into the legato and manually create the full path that the debugger needs (i.e. mkdir -p /home/root/Hello/Debug) then all is well and the debug session works.
I don’t know if this is a bug in your code or something in CDT/Eclipse - but it took me a little while to work out why the debug session was crashing…
ciao, Dave
Good to know.
For your information: actually the Remote C/C++ Application launch configurations are part of the standard CDT features.
So we just integrated it in DS3 as part of the “goodies”, useful when you need to handle standard C/C++ projects aiming to run on the Legato Linux distro.
Our effort is focused on developing features around the Legato Application Framework itself.
Hi Daav,
No problems. Although I guess you connect to a legato app using GDB in a similar fashion?
Anyway, it’s good that you’ve included this functionality into DS.
Ciao, Dave
Yes, once you have a Legato application project, you can use a Legato application debug configuration to handle the debug session, whatever if the application is sandboxed or not.