Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-debug-dev] Register reading in debugger

> 
> This is a multipart message in MIME format.
> --=_alternative 0035E2C4C3256C91_=
> Content-Type: text/plain; charset="us-ascii"
> 
>       Hi all!
> 
> I'm using CDT Debugger and when I want to look at all registers I've 
> noticed that Debugger asks for value of one register two times. I think 
> this doesn't accelerate Debugger's work and so I have small question which 
> can be considered as suggestion of improving Debugger's work . 
> 
>   May be it would be better to read  all registers by GDB/MI command 
> "-data-list-register-values x" and then parse output inside CDT Debugger. 
> May be I'm wrong but I think that  this way would be work faster than many 
> calls of external program(i.e. gdb). 
> 

The code does not maintain a cache of the result, so what happen is that
the CDT/Debug framework is also probing a second time for possible 
children, getChildren().

For example on x86 xmm? registers are represented as structure(it shows a +
in the Variable view).

Before registers were maintain by the Var Objects gdb mechanism, gdb was
maintaining it for us and notify on every updates etc ..
Unfortunately using registers has var objects in gdb was making gdb very
unstable.  So we fall back to -data-list-register-xx.

It certainly can be made smarter for things like getChildren() or getTypeName()
which will never change and cache this the first time we get a response. 




Back to the top