You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
we encountered an error parsing a pdb created by visual studio 12
$ python pdb_tpi_vtypes.py ConsoleApplication1.pdb
Traceback (most recent call last):
File "pdb_tpi_vtypes.py", line 157, in <module>
pdb.STREAM_TPI.load()
File "/usr/local/lib/python2.7/dist-packages/pdbparse/__init__.py", line 221, in load
tpis = tpi.parse_stream(self.stream_file,unnamed_hack,elim_fwdrefs)
File "/usr/local/lib/python2.7/dist-packages/pdbparse/tpi.py", line 1081, in parse_stream
resolve_typerefs(t, types, min) for t in types[i].substructs
File "/usr/local/lib/python2.7/dist-packages/pdbparse/tpi.py", line 1013, in resolve_typerefs
setattr(leaf, attr, base_type._decode(ref,{}))
File "/usr/local/lib/python2.7/dist-packages/construct-2.5.1-py2.7.egg/construct/adapters.py", line 99, in _decode
obj, self.subcon.name))
construct.adapters.MappingError: no decoding mapping for 12 [base_type]
The same exe compiled with visual studio 2010 is handled fine. i attached both
the problematic one (ConsoleApplication1.pdb) and the one that is ok
(ConsoleApplication1_vc2010.pdb)
Original issue reported on code.google.com by [email protected] on 12 Nov 2013 at 1:24
If you look at the thing it's trying to parse, it seems pretty clear something
has gone more fundamentally wrong:
{'leaf_type': 'LF_FIELDLIST',
'length': 70,
'substructs': [{'fldattr': {'access': 'public',
'compgenx': False,
'mprop': 'MTvanilla',
'noconstruct': False,
'noinherit': False,
'pseudo': False},
'index': {'count': 0,
'derived': 'T_NOTYPE',
'fieldlist': 'T_NOTYPE',
'leaf_type': 'LF_STRUCTURE',
'length': 38,
'name': 'Enum',
'prop': {'cnested': False,
'ctor': False,
'fwdref': True,
'isnested': False,
'opassign': False,
'opcast': False,
'ovlops': False,
'packed': False,
'reserved': 1,
'scoped': False},
'size': 0,
'tpi_idx': 5125,
'vshape': 'T_NOTYPE'},
'leaf_type': 'LF_BCLASS',
'name': '\xf2\xf1\x11\x15\x1b',
'offset': 0},
{'leaf_type': 'LF_VFUNCTAB', 'type': 12}],
'tpi_idx': 5138}
The name is garbage that looks like it includes the padding of one of the value
types. So I'd guess something about the type stream has changed in VS2012, but
I can't say what without looking into it more deeply.
Original issue reported on code.google.com by
[email protected]
on 12 Nov 2013 at 1:24Attachments:
The text was updated successfully, but these errors were encountered: