This is the mail archive of the
archer@sourceware.org
mailing list for the Archer project.
Access to "default GDB printer" from Python pretty printers?
- From: ppluzhnikov at google dot com (Paul Pluzhnikov)
- To: archer at sourceware dot org
- Cc: ppluzhnikov at google dot com
- Date: Wed, 5 Nov 2008 09:57:21 -0800 (PST)
- Subject: Access to "default GDB printer" from Python pretty printers?
- Dkim-signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta;t=1225907844; bh=jrDSYpS20w2W7t2OP8iwmAdWWv8=;h=DomainKey-Signature:To:Cc:Subject:Message-Id:Date:From; b=G3ILLgmiD/zZ+36qrqBpxP/ue05Tx9j0SeZNApfiSszoiYtqGVZ2rDHOsR23y9EK0zQblra/8lGkCShZMEV92A==
- Domainkey-signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns;h=to:cc:subject:message-id:date:from;b=C3n8wahYsSLeEOHNEK1HAYosYms1LggEO94VVW6aBWpslinn5NHoyiH25Ee750p2SgsDeROioQfIgz5yLzU1nQ==
Greetings,
Consider writing a pretty-printer for e.g. sockaddr.
It may look something like this:
def Print_sockaddr(val):
AF_UNIX = 1
AF_INET = 2
AF_INET6 = 10
af = val['sa_family']
if af == AF_UNIX:
return Print_sockaddr_un(val)
elif af == AF_INET:
return Print_sockaddr_in(val)
elif af == AF_INET6:
return Print_sockaddr_in6(val)
else:
# Don't know how to print this kind of sockaddr.
# Just do whatever GDB would have done without Python.
return gdb.print_value(val)
Reasonable?
--
Paul Pluzhnikov