Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Issue with register view for a multicore heterogeneous system

Currently, we assume that every thread of a process has the same list of registers.  Therefore, we cache the result of –data-list-register-names and you keep getting the same result for every thread (without even going to GDB after the first call).  You can see that by turning on the cache traces.  To enable those, go to the Tracing subtab of you launch and enable org.eclipse.cdt.dsf -> debugCache.  It will show you the calls to –data-list-register-names which are not actually sent to GDB but answered automatically by the CommandCache.

 

However, we do support different registers for different processes (thread-groups).  So if you use different thread-groups as you suggest below, it should fix things.

That means you will need each processor to be represented by a process instead of a thread.

 

Note that you may have the same issue for memory, if each of your processors have their own memory space.

Currently, if you look at the memory of your different processors in the memory view or memory browser view, you will probably see that memory does not get refreshed when you change threads.  Using different thread-groups will help fix this, but you will also need the fix to http://eclip.se/250323 which is being reviewed currently.

 

We are looking into supporting different processors by using different threads, but we haven’t quite gotten there yet.

 

I’d be curious to know how other people supporting multicore with CDT have dealt with this.

 

Marc

 

From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of pvuser pvuser
Sent: Tuesday, January 07, 2014 10:48 AM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] Issue with register view for a multicore heterogeneous system

 

Hello,

We have a custom debugger that implements the MI protocol in order to communicate with Eclipse. We have a heterogeneous system with processors with different architectures.

 

We encountered problems when displaying registers in Register View. We should display different registers for the two different types of processors. In Eclipse debug view the processors are represented as threads. The desired scenario is to display the corresponding registers for the thread/processor that is selected.

 

The registers are obtained as a response to the MI command “-data-list-register-names”, but this command is called only once in a debug session.

 

How should we resolve this problem?

 

We tries using the switch “--thread-group”, as we tried to have two thread-groups, one for each of the two architectures. Which is the correct approach for solving this issue?

 

Thank you

 


Back to the top