Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] Variables View / Registers View architecture.


Before I explain my understanding about the Architecture of Variables View or Registers View, let me try to explain my actual

I am trying to do a remote debug operation from Eclipse / CDT. Though I am succesful, yet there is a considerable performance delay
in Variables & Registers View. 
After conducting few experiments, we have found out that performance delay is due to the network latency. In other words, Eclipse
transmits a command & waits until GDB sends 
a response & vice versa. Due to this, GDB at the remote end is idle most of the time. For every request & response, the round trip
time is 203 milliseconds & for 70 variables in context,
 the variables view takes 10 seconds to come up.  The solution which we could think of this, we could remove the wait state of the
transmitter ie., Tx keeps pumping commands to the GDB so that GDB is always in state of sending response. By this , we could remove
203 milliseconds for each command.  This is an idea. Is there any better solution ?

Now coming to my understanding, 

For every variables for a context , there are three operations that are being carried viz., whatis, -var-create &
-var-evaluate-expression. Through the Stack-list-locals commands, all the local variables in the context are obtained & these are
dumped to the RegisterDescriptor[] or VariableDescriptor[] data structure as applicable. Then there is a ***Job**** that is getting
created which runs all the three commands on each & every variable. I have *starred*  at the code for a while now .Unfortunately, I
am  not able to find the piece that connects these ***Job*** & how they execute these three commands for every variable in the
context & who is starting these jobs.

	Any help would be greatly appreciated  ?

Warm Regards

Back to the top