[0.3.x] fixed : issue #13472 ( typedVar.fields() method raises exception )

git-svn-id: https://pykd.svn.codeplex.com/svn@89772 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\ussrhero_cp 2015-02-23 14:36:09 +00:00 committed by Mikhail I. Izmestev
parent 49099b0763
commit 62c713b834
2 changed files with 9 additions and 1 deletions

View File

@ -75,7 +75,11 @@ python::list TypedVarAdapter::getFields( kdlib::TypedVar& typedVar )
for ( size_t i = 0; i < typedVar.getElementCount(); ++i )
{
std::wstring name = typedVar.getElementName(i);
kdlib::MEMOFFSET_32 offset = typedVar.getElementOffset(i);
kdlib::MEMOFFSET_32 offset = 0;
if (!typedVar.getType()->isStaticMember(i) )
offset = typedVar.getElementOffset(i);
kdlib::TypedVarPtr val = typedVar.getElement(i);
lst.push_back( FieldTuple( name, offset, val ) );

View File

@ -325,3 +325,7 @@ class TypedVarTest( unittest.TestCase ):
self.assertTrue( tv.getDebugStart() >= tv.getAddress() )
self.assertTrue( tv.getDebugEnd() <= tv.getAddress() + tv.sizeof() )
def testFields(self):
tv = pykd.typedVar( "g_classChild")
self.assertTrue( len(tv.fields())>0 )