[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] CDI - Variables and Expressions views are generating unnecessary requests
|
Greetings.
I have a pointer lcb
(large control block) to a large structure, that contains 201
elements. I have a breakpoint on a function that takes lcb as a
parameter.
I have two concerns
(this is with CDI):
a) When I stop at
the breakpoint, even if lcb is collapsed, and (sometimes even if the Variables
view is not active), I see a ptype lcb request being sent on the MI
interface.
[1,239,842,202,394]
2761 ptype lcb
[1,239,842,202,395] ~"ptype lcb\n"
[1,239,842,202,399]
~"type = struct largedata_ {\n"
>>> followed by 201
elements.
My concern is that
the response generates a lot of traffic. Which can introduce a significant
delay on a slow interface.
If lcb is also added
to the Expressions view, I see two additional ptypes
[1,239,852,566,876]
4066-var-create - * lcb
[1,239,852,566,885]
4066^done,name="var139",numchild="201",type="largedata *"
[1,239,852,566,885]
(gdb)
[1,239,852,566,885] 4067 ptype largedata *
[1,239,852,566,886]
~"ptype largedata *\n"
[1,239,852,566,891] ~"type = struct largedata_
{\n"
skipped lines: 201
[1,239,852,568,439] ~"}
*\n"
[1,239,852,568,442] 4067^done
[1,239,852,568,442]
(gdb)
[1,239,852,568,443] 4068 ptype lcb
[1,239,852,568,444] ~"ptype
lcb\n"
[1,239,852,568,448] ~"type = struct largedata_ {\n"
skipped lines:
201
[1,239,852,570,069] ~"} *\n"
It looks like a lot
of redundant traffic, the more if the pointer variable is collapsed and I'm only
interested in the pointer variable value. It's also interesting the
Variables view and the Expressions view have two different
behaviors.
These 2 ptypes are
observed, even if the Expressions view is not active, or at least
sometimes.
b) When lcb is added
to the Expressions view, in addition to the two ptypes, if the view is active, I
will see ptypes for all unique element types in the structure, even if lcb
is collapsed. And for each single step, I see a
[1,239,852,896,259]
4173-var-list-children var139
[1,239,852,897,848]
4173^done,numchild="201",children=[child={name="var139.field1",exp="fiel\
skipped
lines: 157
So my two
questions are:
1) is there a way to
have a lazy evaluation, so that expressions or variables are only evaluated on
request. I see that partially, for instance for the Variables view, I
see a ptype, but no var-list-children - while the Expressions view is more
chatty. I'd like to defer all children actions to when the variable
is expanded. Or at a minimum, not to request a var-list-children when
the variable is collapsed.
2) the observed
behavior is not consistent. Sometimes I see requests, even if the view is
not selected, other times I don't see them. So I wonder if this is an
issue that is already reported.
Thank
you
Laurent