This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: Unifying the GCC Debugging Interface


On Wed, Nov 14, 2012 at 5:12 PM, Lawrence Crowl <crowl@googlers.com> wrote:
> Diego and I seek your comments on the following (loose) proposal.
>
>
> It is sometimes hard to remember which printing function is used
> for debugging a type, or even which type you have.
>
> We propose to rely on overloading to unify the interface to a small
> set of function names.  Every major data type should have associated
> debug/dump functionality.  We will unify the current *_dump/*_debug
> functions under the same common overloaded name.
>
> We intend to only apply this approach to functions that take the
> type to display as an argument, and that are routinely used in
> debugging.
>
> We propose to provide several function overload sets, as below.

Here is my proposal though I don't have time to work on it.  Make some
python scripts which do the basic function of the debug_* functions.
This way you can use them while debugging a core file and when the
stack has become full.  As I said I don't have time to work on this
and really don't know python well enough to do it either.  But I think
would be more useful than changing the debug functions inside gcc.

Thanks.
Andrew Pinski

>
>
> dump_pretty
>
>     This function overload set provides the bulk of the printing.
>     They will use the existing pretty-printer functions in their
>     implementation.
>
> dump_raw
>
>     This function overload set provides the raw oriented dump,
>     e.g. a tuple.
>
> dump_verbose
>
>     This function overload set provides the extra details dump.
>
>
> All of these functions come in two forms.
>
>     function (FILE *, item_to_dump, formatting)
>     function (item_to_dump, formatting)
>
> If the FILE* is not specified, the output is to stderr.  The
> formatting argument is optional, with a default suitable to the kind
> of item to dump.
>
>
> We should remove tree-browser.c.  It is not used at all and it is
> likely broken.
>
> --
> Lawrence Crowl


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