Hm. Make that a > print *(DR_printtup *) self > print *((DR_printtup *) self)->attrinfo > print *slot->tts_tupleDescriptor
(gdb) print *(DR_printtup *) self $2 = {pub = {receiveSlot = 0x459390 <printtup>, rStartup = 0x459550 <printtup_startup>, rShutdown = 0x458a20 <printtup_shutdown>, rDestroy = 0x458a10 <printtup_destroy>, mydest = DestRemoteExecute}, portal = 0x2aa9360, sendDescrip = 0 '\000', attrinfo = 0x2e7fc50, nattrs = 42, myinfo = 0x2a8ac30} (gdb) print *((DR_printtup *) self)->attrinfo $3 = {natts = 42, attrs = 0x2e7fc78, constr = 0x0, tdtypeid = 2249, tdtypmod = -1, tdhasoid = 0 '\000', tdrefcount = -1} (gdb) print *slot->tts_tupleDescriptor $4 = {natts = 42, attrs = 0x2e7fc78, constr = 0x0, tdtypeid = 2249, tdtypmod = -1, tdhasoid = 0 '\000', tdrefcount = -1} (gdb)