From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13102 invoked by alias); 15 Oct 2010 17:43:02 -0000 Received: (qmail 13081 invoked by uid 22791); 15 Oct 2010 17:42:59 -0000 X-SWARE-Spam-Status: No, hits=-0.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from nm12-vm0.bullet.mail.sp2.yahoo.com (HELO nm12-vm0.bullet.mail.sp2.yahoo.com) (98.139.91.242) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Fri, 15 Oct 2010 17:42:52 +0000 Received: from [98.139.91.69] by nm12.bullet.mail.sp2.yahoo.com with NNFMP; 15 Oct 2010 17:42:51 -0000 Received: from [98.139.91.40] by tm9.bullet.mail.sp2.yahoo.com with NNFMP; 15 Oct 2010 17:42:50 -0000 Received: from [127.0.0.1] by omp1040.mail.sp2.yahoo.com with NNFMP; 15 Oct 2010 17:42:50 -0000 Received: (qmail 19318 invoked by uid 60001); 15 Oct 2010 17:42:50 -0000 Message-ID: <72148.17314.qm@web112520.mail.gq1.yahoo.com> Received: from [123.238.27.144] by web112520.mail.gq1.yahoo.com via HTTP; Fri, 15 Oct 2010 10:42:49 PDT References: <717587.85098.qm@web112501.mail.gq1.yahoo.com> <20101015131534.GA17486@host1.dyn.jankratochvil.net> <221705.52663.qm@web112503.mail.gq1.yahoo.com> <20101015151803.GA23906@host1.dyn.jankratochvil.net> Date: Fri, 15 Oct 2010 17:43:00 -0000 From: paawan oza Subject: Re: reversible debugging, enhancements, proposals To: Jan Kratochvil Cc: gdb@sourceware.org In-Reply-To: <20101015151803.GA23906@host1.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2010-10/txt/msg00056.txt.bz2 Hi, let me attempt to explain with example. struct _A { int fl1; struct _A *next; } struct _X { int no1; struct _A *a; struct _X *next; } if commands are provided something like below, rather than having people edit the .gdbinit file, script, 'source' command gdb> load_link _X 500 (indicates load 500 nodes) gdb> pview fl1 (print all fl1 values of all nodes) now this was just an example, it could be supporting any level of nesting, and any level of data structure. the advantage is, user just have to load relevant structure online on gdn prompt and ready to view any data any time in any node... rather than playing with script and running them and editing them. In conclusion, I think direct command line interface for such facility is convenient and easy to use. Regards, Oza. ----- Original Message ---- From: Jan Kratochvil To: paawan oza Cc: gdb@sourceware.org Sent: Fri, October 15, 2010 8:48:03 PM Subject: Re: reversible debugging, enhancements, proposals On Fri, 15 Oct 2010 15:48:57 +0200, paawan oza wrote: > but my point is: it becomes cumbesome for user to go and modify the > file/.gdbinit macro or script. Projects provide their own .gdbinit files (gcc/gdbinit.in, emacs/src/.gdbinit) for examining the project's specific data structures. For example for GList (Gnome glib) it cannot work fully automatically as its ->data is void *. > you have losts of data streuctures like linked list, complex tree, btree >etc.... > and most of the user is not predetermined to se where he wants to look....it Maybe a pretty printer could have a hint if one wants to print just a single element or the whole list? Or if printing a pointer (and not curretly implemented *pointer) it could print the whole list? That may be confusing, though. Thanks, Jan