This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug python/17136] New: 'info type-printers' causes an exception when there are per-objfile printers
- From: "jwakely.gcc at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Wed, 09 Jul 2014 12:08:25 +0000
- Subject: [Bug python/17136] New: 'info type-printers' causes an exception when there are per-objfile printers
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=17136
Bug ID: 17136
Summary: 'info type-printers' causes an exception when there
are per-objfile printers
Product: gdb
Version: 7.7
Status: NEW
Severity: normal
Priority: P2
Component: python
Assignee: unassigned at sourceware dot org
Reporter: jwakely.gcc at gmail dot com
Given this type printer defined somewhere like .gdbinit
class Printer(object):
def __init__ (self):
self.name = 'Printer'
self.enabled = True
class _recognizer(object):
def recognize(self, type_obj):
if type_obj.tag == "Foo":
return "Bar"
return None
def instantiate(self):
return self._recognizer()
if you debug any program then register the type printer with the current
objfile, running 'info type-printers' results in a python exception:
(gdb) start
Temporary breakpoint 1 at 0x4005b4: file bug.cc, line 4.
Starting program: /tmp/a.out
Temporary breakpoint 1, main () at bug.cc:4
4 return 0;
(gdb) python gdb.types.register_type_printer(gdb.current_objfile(), Printer())
(gdb) info type-printers
Python Exception <type 'exceptions.AttributeError'> 'gdb.Objfile' object has no
attribute 'name':
Error occurred in Python command: 'gdb.Objfile' object has no attribute 'name'
The exception doesn't happen if the type printer is registered globally, by
passing None instead of gdb.current_objfile().
--
You are receiving this mail because:
You are on the CC list for the bug.