diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index 2bd9381..420ea1a 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -388,7 +388,7 @@ BOOST_PYTHON_MODULE( pykd ) .def("__len__", &TypedVar::getElementCount ) .def("__getitem__", &TypedVar::getElementByIndex ); - python::class_("module", "Class representing executable module", python::no_init ) + python::class_ >("module", "Class representing executable module", python::no_init ) .def("begin", &Module::getBase, "Return start address of the module" ) .def("end", &Module::getEnd, diff --git a/pykd/module.h b/pykd/module.h index 4b7c784..d90de1b 100644 --- a/pykd/module.h +++ b/pykd/module.h @@ -12,7 +12,7 @@ namespace pykd { /////////////////////////////////////////////////////////////////////////////////// -class Module : private DbgObject { +class Module : public intBase, private DbgObject { public: @@ -80,6 +80,10 @@ private: return m_dia; } + BaseTypeVariant getValue() { + return BaseTypeVariant(m_base); + } + std::string m_name; std::string m_imageName; diff --git a/test/scripts/moduletest.py b/test/scripts/moduletest.py index e024f5d..2fe3541 100644 --- a/test/scripts/moduletest.py +++ b/test/scripts/moduletest.py @@ -21,6 +21,8 @@ class ModuleTest( unittest.TestCase ): def testBegin( self ): self.assertNotEqual( 0, target.module.begin() ) + self.assertEqual( target.module.begin(), target.module ) + self.assertEqual( target.module.begin() + 100, target.module + 100 ) def testEnd( self ): self.assertEqual( target.module.size(), target.module.end() - target.module.begin() ) @@ -37,7 +39,7 @@ class ModuleTest( unittest.TestCase ): pykd.loadModule( target.module.begin() - 0x10 ) self.assertTrue( False ) except pykd.BaseException: - self.assertTrue( True ) + self.assertTrue( True ) self.assertNotEqual( None, pykd.loadModule( target.module.begin() ) ) self.assertNotEqual( None, pykd.loadModule( target.module.begin() + 0x10) ) @@ -61,3 +63,4 @@ class ModuleTest( unittest.TestCase ): def testType( self ): self.assertEqual( "structTest", target.module.type("structTest").name() ); self.assertEqual( "structTest", target.module.type("g_structTest").name() ); +