Bug 16404 - -var-set-update-range ignored on update
Summary: -var-set-update-range ignored on update
Status: NEW
Alias: None
Product: gdb
Classification: Unclassified
Component: varobj (show other bugs)
Version: 7.6
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-07 17:52 UTC by Jeff Armstrong
Modified: 2023-08-31 17:28 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff Armstrong 2014-01-07 17:52:48 UTC
Unless I am mistaken, -var-set-update-range does not seem to have any affect on children that are updated.  Consider the following program:

#include <stdio.h>

int main(int argc, char *argv[])
{
int i;
int arr[512];

    printf("Starting up\n");
 
    for(i=0;i<512;i++)
        arr[i] = 3;
        
    printf("Assigned %d\n", i);
 
    return 0;
}

When I run the program via gdb, I'm using the following sequence of commands via mi2:

=====
(gdb)
start
... plenty of output ...
(gdb)
-var-create v1 * arr
^done,name="v1",numchild="512",value="[512]",type="int [512]",thread-id="1",has_more="0"
(gdb)
-var-list-children v1 0 2
^done,numchild="2",children=[child={name="v1.0",exp="0",numchild="0",type="int",thread-id="1"},child={name="v1.1",exp="1",numchild="0",type="int",thread-id="1"}],has_more="1"
(gdb)
break main.c:13
... plenty of output ...
(gdb)
cont
... plenty of output, break reached after loop ...
(gdb)
-var-set-update-range v1 0 2
^done
(gdb)
-var-update v1
... every child of v1 is now listed (512 in fact) ...
====

Perhaps I'm missing a detail, but I expect only to see the first to entries of `arr` to be output.  I realize the above mixes console and mi2 commmands, but it shouldn't be an issue.