mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-20 03:23:23 +08:00
[0.1.x] update : module class can be used in the arithmetic expressions
git-svn-id: https://pykd.svn.codeplex.com/svn@72133 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
3058af91a7
commit
adfad183f2
@ -388,7 +388,7 @@ BOOST_PYTHON_MODULE( pykd )
|
|||||||
.def("__len__", &TypedVar::getElementCount )
|
.def("__len__", &TypedVar::getElementCount )
|
||||||
.def("__getitem__", &TypedVar::getElementByIndex );
|
.def("__getitem__", &TypedVar::getElementByIndex );
|
||||||
|
|
||||||
python::class_<Module>("module", "Class representing executable module", python::no_init )
|
python::class_<Module, python::bases<intBase> >("module", "Class representing executable module", python::no_init )
|
||||||
.def("begin", &Module::getBase,
|
.def("begin", &Module::getBase,
|
||||||
"Return start address of the module" )
|
"Return start address of the module" )
|
||||||
.def("end", &Module::getEnd,
|
.def("end", &Module::getEnd,
|
||||||
|
@ -12,7 +12,7 @@ namespace pykd {
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class Module : private DbgObject {
|
class Module : public intBase, private DbgObject {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -80,6 +80,10 @@ private:
|
|||||||
return m_dia;
|
return m_dia;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BaseTypeVariant getValue() {
|
||||||
|
return BaseTypeVariant(m_base);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
std::string m_name;
|
std::string m_name;
|
||||||
std::string m_imageName;
|
std::string m_imageName;
|
||||||
|
@ -21,6 +21,8 @@ class ModuleTest( unittest.TestCase ):
|
|||||||
|
|
||||||
def testBegin( self ):
|
def testBegin( self ):
|
||||||
self.assertNotEqual( 0, target.module.begin() )
|
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 ):
|
def testEnd( self ):
|
||||||
self.assertEqual( target.module.size(), target.module.end() - target.module.begin() )
|
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 )
|
pykd.loadModule( target.module.begin() - 0x10 )
|
||||||
self.assertTrue( False )
|
self.assertTrue( False )
|
||||||
except pykd.BaseException:
|
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() ) )
|
||||||
self.assertNotEqual( None, pykd.loadModule( target.module.begin() + 0x10) )
|
self.assertNotEqual( None, pykd.loadModule( target.module.begin() + 0x10) )
|
||||||
@ -61,3 +63,4 @@ class ModuleTest( unittest.TestCase ):
|
|||||||
def testType( self ):
|
def testType( self ):
|
||||||
self.assertEqual( "structTest", target.module.type("structTest").name() );
|
self.assertEqual( "structTest", target.module.type("structTest").name() );
|
||||||
self.assertEqual( "structTest", target.module.type("g_structTest").name() );
|
self.assertEqual( "structTest", target.module.type("g_structTest").name() );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user