This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Laziness


On Mon, Oct 10, 2005 at 10:04:09PM +0100, David Lecomber wrote:
> Hi Folks,
> 
> Take a simple code with a big array...
> 
> #include <stdio.h>
> int main()
> {
>   double x[1000][1000];
>   printf("hello mum");
> }
> 
> and ask gdb to "set print elements 1", then break at the printf, and say
> "output x".  

This is an inherent problem with the implementation of "set print
elements".  It prints only one _visible_ element, possibly with a
<repeats %u times> marker.  Search for that in valprint.c to see how
this works.

Perhaps we should redefine set print elements to only print anything
pertaining to the original number of elements.

> Should we really really be reading all that memory, just to print the
> first element?  I mean, not only is that slow, but it imposes a memory
> overhead in the GDB too!

Not really, for the latter complaint; we discard them as they're read
in.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]