Re: printing PGresult content with gdb

From: Reid Thompson <jreidthompson(at)nc(dot)rr(dot)com>
To: clipperDB(at)gmx(dot)fr, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: printing PGresult content with gdb
Date: 2024-07-03 12:02:06
Message-ID: c51f429ec1615a8ce7d437371da93d9a24d81d9c.camel@nc.rr.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 2024-07-02 at 18:13 +0200, clipperDB(at)gmx(dot)fr wrote:
>  
> Hi all
> I don't know if it is the right mailing list, but i was wondering if
> one could introspect via gdb the content of PGresult.
> In my case i got a coredump and when i tried to analyze the core and
> try to print the content of PGresult i got incomplete type
> I'm using libpq-13.3 (installed via libpq-13.3-1.el8_4.x86_64,
> RHEL8.5). Any help would be appreciated (i'm trying to get the
> errMesg value of this field)
> (gdb) p res
> $1 = (PGresult *) 0x7f0718000b80
> (gdb) p *res
> $2 = <incomplete type>
> (gdb) ptype res
> type = struct pg_result {
>     <incomplete type>
> } *
> (gdb) explore res
> 'res' is a pointer to a value of type 'PGresult'
> Continue exploring it as a pointer to a single value [y/n]: y
> The value of '*res' is of type 'PGresult' which is a typedef of type
> 'pg_result'
> The value of '*res' is a struct/class of type 'pg_result' with no
> fields.
> (gdb) 
> thanks for your hints
> doris

https://wiki.postgresql.org/wiki/Developer_FAQ#Why_do_we_use_Node_and_List_to_make_data_structures.3F
may be of help.

Instead of printing values in gdb format, you can use the next two
commands to print out List, Node, and structure contents in a verbose
format that is easier to understand. Lists are unrolled into nodes, and
nodes are printed in detail. The first prints in a short format, and
the second in a long format:

(gdb) call print(any_pointer)
(gdb) call pprint(any_pointer)
The output appears in the server log file, or on your screen if you are
running a backend directly without a postmaster.

I found that from https://wiki.postgresql.org/wiki/Developer_FAQ#gdb

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2024-07-03 13:58:31 Re: Accommodating alternative column values
Previous Message Muhammad Ikram 2024-07-03 03:18:27 Re: Question on partman extension while relation exist