Hi Christelle,
One way to achieve this is to start GDB with one binary, and then to
attach/connect to another one. You can attach again, as many times
as you want to debug n binaries in your session.
For more information, see this link:
https://wiki.eclipse.org/CDT/User/FAQ#How_do_I_use_multi-process_debugging.3F
Regards,
Marc
On 02/26/2016 07:37 AM, Christelle
BURGUERA wrote:
Hi
Marc,
Some
precisions in that old discussion :
You
said that is 1 GDB session which launch 2 binaries.
Do
you know what GDB session deals with this 2 binaries?
- 1
GDB is launching with 2 binaries
- 2
GDBs are launching with each 1 binary
- 1
GDB is launching with 1 binary, but with a special build
before (a build which merges the 2 binaries)
Thank
you J
Have
a good week-end
Christelle
To
be clearer, you should only need a single debug session to
debug both binaries.
This is thanks to CDT/GDB multi-process support. Be aware
that you -must- be running
with the Non-Stop option to be able to do multi-process
debugging in CDT, and you need GDB >= 7.2.
Marc
Hi
Christelle,
I understand now. You want to launch a session that
debugs two binaries, without forcing the user to
manually add the second binary each time.
This is something that "the new launch UI" was
aiming to do, but the work on it never got
completed. It would have allowed to specify many
binaries to debug, directly from the launch
configuration main tab.
That effort was also changing the look and feel of
the UI, which could be why it was a lot of work
and never got finished. There is a prototype on
github (which may be too detailed for your needs)
https://wiki.eclipse.org/CDT/MultiCoreDebugWorkingGroup/NewLaunchUI
The approach you mention, of adding extra widgets to
the main launch tab seems fine.
After that, you need to add the step to launch that
second binary. The initial setup of the debug
session is done in
FinalLaunchSequence.java and its sub classes.
Looking at FinalLaunchSequence.getExecutionOrder()
you will
see a list of steps done by CDT to configure the
session; each step corresponds to a method of the
same name.
One such step is
FinalLaunchSequence.stepNewProcess() which launches
the first binary.
You should be able to add an extra step right after,
which does the same thing but using the second
binary's info
from the launch configuration. There might be a
couple of details to work out, but it shouldn't be
hard at all.
To extend FinalLaunchSequence you can look at the
how it is done in FinalLaunchSequence_7_0.
Let us know how it goes.
Marc
Hi Christelle,
Have you tried this:
https://wiki.eclipse.org/CDT/User/FAQ#How_do_I_use_multi-process_debugging.3F
Regards,
Marc
On
09/08/2015 08:03 AM, Christelle BURGUERA
wrote:
Hi
Doug,
Yes
it‘s totally what I want to do.
What
I think to do :
We
have now our own project type (based on ansi
c project), when the user select a
multi-core board under the wizard, I’ll
generated (programmatically.. always ;) ) 2
debug configurations which generate 2
binaries :

I’ll
add widgets (text area and browse button)
under launch configuration to add another
binary file on Main tab.
So,
the question that remains unresolved, it’s
how launch the debug session ?
Should
I launch 2 different debug sessions ?
Thank
you !
Christelle
This
came up in a conversation I had with a
field expert last week. Having multiple
binaries/executables per project from what
I’m told is pretty common and something we
need to support better.
There
is the Launch Group launch configuration
type which is supposed to be able to
co-ordinate multiple launches in one. This
is probably what you’re looking for.
I
also have on the drawing board, a
multi-launch capability for the launch bar
that lets you specify a list of triples
(mode, config, target).
I’d
like to explore the right way to do this.
At the very least, we should never assume
one binary per project and need to treat
binaries as more of a first class citizen.
Thanks
for bringing this up and hope that helps.
Hi
Marc,
Thank
you to answer me !
In
fact I’ve two different binaries, but
one project (I want to add a new
wizard for a new project type who will
generate two debug configuration). The
source will be instrumented and the
makefile will be differents.
I
want to add programmatically a section
under the launch configuration to add
the two binaries and launch a debug
session, so yes I want to trigger a
Debug session programmatically.
So,
I want to know, if I have to do 2
debug sessions or if exists a kind of
“double” debug session ?
I
hop, I’m clear !
Many
thanks !
Have
a good day !
Christelle
Hi
Christelle,
I am not sure what you are asking
exactly.
A binary running on a multi-core
system is handled automatically by
the OS, and a single Debug session
should work fine.
If you are talking about debugging
multiple processes, that is also
supported by a single Debug session.
If you want to trigger a Debug
session programatically, that can be
done easily and I can point you to
an example
of how Trace Compass does this to
visualizer GDB traces.
I'll let you clarify your questions
before getting into more details.
marc
Hi
all !
I’ll
work on multi-core
problematical very soon.
And
I think about how can I’ll do
…
How
can you launch the debug ?
2
GDB sessions or one particular
GDB session if exists such a
think ???
Do
you know where can I find a
piece of code explaining to me
?
Many
thanks for your attention !
Chris
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cdt-dev
|