Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] About GDB Version

Hi Hava,

Please do ask - this is the forum for that.

> why does every GDB version have a FinalLaunchSequence class? Why use FinalLaunchSequence?

FinalLaunchSequence is returned by GDBControl.getCompleteInitializationSequence(Map<String, Object>, RequestMonitorWithProgress)  (or its subclass) and contains the sequence of steps to complete initialization of GDB.

"Final" because it is the last part of the initialization
"Launch" because starting a debug session is called launching it
"Sequence" because it is a series of commands that need to be executed asynchronously (i.e. it is a org.eclipse.cdt.dsf.concurrent.Sequence)

Each version of GDB has a final launch sequence because different versions of GDB have features or other subtleties on how to initialize the communication properly. For example, GDB 7.7 introduced dprintf styles, so in GDB 7.7 and later we initialize that setting (in FinalLaunchSequence_7_7.stepSetDPrinfStyle)

If you are very new to DSF, you may want to start with the https://help.eclipse.org/latest/topic/org.eclipse.cdt.doc.isv/guide/dsf/intro/dsf_programming_intro.html?cp=14_0_6 which convers the basics of DSF, and a while ago I did a training course on DSF-GDB which covers that same material and continues beyond that, you can see the code and powerpoint here https://github.com/jonahgraham/cdt-examples

HTH
Jonah


~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Wed, 2 Feb 2022 at 02:06, Hava Cenk <hvcenk@xxxxxxxxx> wrote:
Hi Jonah,

First of all, thank you for such an instructive answer. I'm new to CDT and I want to learn a lot. I can ask too many questions, sorry :)  Well, why does every GDB version have a FinalLaunchSequence class? Why use FinalLaunchSequence?

Thanks.!

Jonah Graham <jonah@xxxxxxxxxxxxxxxx>, 31 Oca 2022 Pzt, 20:23 tarihinde şunu yazdı:
Hi Hava,

There are two parts to my answer:

GDB Version Support:

CDT has a very wide GDB version acceptance. Current CDT works with all versions of GDB since approximately GDB 6.6 through to the most recent GDB releases. However we test and fix against a slightly more limited version range of GDB. Since CDT 10.3 we support/test against GDB 8.0 and newer. Older versions of GDB should still work, and patches will be accepted against them, but no active effort is in place to make such old versions work.

As a reference, GDB 8 is approximately 5 years old already.

If you need information about what was tested in older CDT releases, see dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/ITestConstants.java

Naming of files in DSF-GDB

The version numbers in the DSF-GDB files refer to the minimum version of GDB. For example GDB 6.8 will use GDBProcesses, GDB 7.4 - 7.9 will use GDBProcesses_7_4 and all versions since GDB 7.12 will use GDBProcesses_7_12. GdbDebugServicesFactory is the class in charge of converting the GDB version to the appropriate version of the service.

Please ask follow up questions if there is anything unclear, and please let me know if that resolved your question/issue.

I hope that helps,
Jonah




~~~
Jonah Graham
Kichwa Coders
www.kichwacoders.com


On Mon, 31 Jan 2022 at 03:31, Hava Cenk <hvcenk@xxxxxxxxx> wrote:
Hi folks;

How can I establish a relationship between the CDT version and the GDB version? so I want to find the latest GDB version based on the cdt source codes I have and apply it, what do you think should I do? There are classes such as GDBControl_7_0, GDBControl_7_2 in the org.eclipse.cdt.ds.gdb package. First of all, what is the dsf package and what is it used for? Is the 7_0 information in the GDBControl classes included in this package GDB version information?

Thank you for your attention in advance,
best
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cdt-dev

Back to the top