Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-debug-dev] Regsiter gorups in CDT

Hi Mikhail, 
Thanks for the fast response. 
Here is some investigation I have done looking at the code and the
different approaches we can take to implement this feature. 

From a design point I see two options:
1. Ask the debugger about its register groups. 
2. Assume the processor groups are entirely Eclipse feature and don't
get the debugger involved in it. 

I lean toward 1 and here is why.
Most of the time CDT tries to redirect to the debugger since the
debugger has the ultimate knowledge about the underling debugged
process. 
If we are to debug different versions of a given hardware it is very
likely that a common debugger implementation will be used. 
In that case the debugger will know the specific version of the hardware
and the specific registers associated with that hardware. It is a
natural for the debugger to know the grouping of these registers as
well. Asking Eclipse to have that knowledge may be too much because it
may change from two subsequent runs of the debugger, depending on the
program being loaded. 

Easy said, but what is the machine interface command for getting the
registry group. I didn't find it. So that goes to the issue of how we
can base CDT on debugger command which are not in the standard GDB
interface v5.2.1? How CDT can provide features for GDB vendors that are
not in the GDB specification? What if multiple vendors see a value in a
command that will make the CDT more feature rich and want to cooperate
before these command  being added in the GDB standard? 

Can you please describe what the CDT team does in these cases? It may be
that the team has seen similar requests for this before? What is the
general rule for dealing with these cases? Any options for providing an
extension point for register groups and default implementation for
debuggers that support specific custom command for that? Please, advise!

If expanding the MI interface is not a viable option we can still have a
work around for that. We can assume that the registers names with some
kind of special symbol will result in a creating a register group in
CDT. For example register "clock::counter" will result of adding a
register group "clock" and a register "counter" in it. I consider this
is a last resort approach. 

So let me know what you think and where I can help. 
Regards
Dobrin


-----Original Message-----
From: cdt-debug-dev-admin@xxxxxxxxxxx
[mailto:cdt-debug-dev-admin@xxxxxxxxxxx] On Behalf Of Mikhail
Khodjaiants
Sent: Monday, April 19, 2004 3:47 PM
To: cdt-debug-dev@xxxxxxxxxxx
Subject: Re: [cdt-debug-dev] Regsiter gorups in CDT

Hi Dobrin,

The ideal solution is to provide the ability to define groups of
registers
and make these group persistent between debug sessions. There are no
plans
for this for 2.0. But if you have thoughts/suggestions on how to do it
and
you want to share it, you are more than welcome.

Mikhail Khodjaiants
QNX Software Systems

----- Original Message ----- 
From: "Alexiev, Dobrin" <dalexiev@xxxxxx>
To: <cdt-debug-dev@xxxxxxxxxxx>
Sent: Monday, April 19, 2004 11:14 AM
Subject: [cdt-debug-dev] Regsiter gorups in CDT


Hello,

I would like to start contributing to different areas of CDT.
Currently, I am working on debugging embedded processors with many
peripheral registers. We have based our debugger on the GDB interface.

I would like to start investigating some usability improvements. One of
them is Register view having multiple groups.

Can you guys give me some advice of what are your plans of addressing
that?
Anything I can help in delivering that?

I don't have much experience with Eclipse/CDT/GDB but after some
debugging here is what I found. Correct me if I am wrong or miss
something.

The Eclipse Debug model defines the register groups and that's why the
GUI is based on a tree view. CDT inserts only one group Main. Looks like
it is a limitation of the GDB interface.

After spending some time looking at the GDB interface I found an
enhancement request for GDB: gdb/850: Missing MI interface to register
groups. It is filed on 25 Nov 2002 and it is currently opened and
unassigned.

Can you guys give me some thoughts of possible enhancing the CDT so it
can show multiple groups with the limitation of the current version of
the MI interface. I was thinking in the line of coding the group name in
the "main:pc", "group2:reg3" or something like that.

Thanks
Dobrin Alexiev
Texas Instruments
_______________________________________________
cdt-debug-dev mailing list
cdt-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cdt-debug-dev

_______________________________________________
cdt-debug-dev mailing list
cdt-debug-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/cdt-debug-dev


Back to the top