mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-29 11:53:23 +08:00
[0.3.x] added : print for typeInfo
git-svn-id: https://pykd.svn.codeplex.com/svn@84318 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
5e7a2b5fb4
commit
13857a0385
@ -114,6 +114,8 @@ BOOST_PYTHON_MODULE( pykd )
|
|||||||
"The target is executing a single instruction or--if that instruction is a subroutine call--subroutine" );
|
"The target is executing a single instruction or--if that instruction is a subroutine call--subroutine" );
|
||||||
python::def( "trace", &targetStepIn,
|
python::def( "trace", &targetStepIn,
|
||||||
"The target is executing a single instruction" );
|
"The target is executing a single instruction" );
|
||||||
|
python::def( "getExecutionStatus", &kdlib::targetExecutionStatus,
|
||||||
|
"Return current execution status" );
|
||||||
|
|
||||||
// Debug output
|
// Debug output
|
||||||
python::def( "dprint", &kdlib::dprint, dprint_( python::args( "str", "dml" ),
|
python::def( "dprint", &kdlib::dprint, dprint_( python::args( "str", "dml" ),
|
||||||
@ -341,8 +343,8 @@ BOOST_PYTHON_MODULE( pykd )
|
|||||||
.def( "__pos__", &NumVariantAdaptor::pos )
|
.def( "__pos__", &NumVariantAdaptor::pos )
|
||||||
.def( "__invert__", &NumVariantAdaptor::invert )
|
.def( "__invert__", &NumVariantAdaptor::invert )
|
||||||
.def( "__nonzero__", &NumVariantAdaptor::nonzero )
|
.def( "__nonzero__", &NumVariantAdaptor::nonzero )
|
||||||
//.def( "__str__", &pykd::NumVariant::str )
|
.def( "__str__", &NumVariantAdaptor::str )
|
||||||
// .def( "__hex__", &pykd::NumVariant::hex )
|
.def( "__hex__", &NumVariantAdaptor::hex )
|
||||||
.def( "__long__", &NumVariantAdaptor::long_ )
|
.def( "__long__", &NumVariantAdaptor::long_ )
|
||||||
.def( "__int__", &NumVariantAdaptor::int_ )
|
.def( "__int__", &NumVariantAdaptor::int_ )
|
||||||
.def( "__index__", &NumVariantAdaptor::long_ )
|
.def( "__index__", &NumVariantAdaptor::long_ )
|
||||||
@ -399,10 +401,10 @@ BOOST_PYTHON_MODULE( pykd )
|
|||||||
"The start address is calculated by the same method as the standard macro CONTAINING_RECORD does" )
|
"The start address is calculated by the same method as the standard macro CONTAINING_RECORD does" )
|
||||||
.def("enumSymbols", ModuleAdapter::enumSymbols, Module_enumSymbols( python::args("mask"),
|
.def("enumSymbols", ModuleAdapter::enumSymbols, Module_enumSymbols( python::args("mask"),
|
||||||
"Return list of tuple ( symbolname, offset )" ) )
|
"Return list of tuple ( symbolname, offset )" ) )
|
||||||
//.def("checksum", &Module::getCheckSum,
|
.def("checksum", &kdlib::Module::getCheckSum,
|
||||||
// "Return a image file checksum: IMAGE_OPTIONAL_HEADER.CheckSum" )
|
"Return a image file checksum: IMAGE_OPTIONAL_HEADER.CheckSum" )
|
||||||
//.def("timestamp", &Module::getTimeDataStamp,
|
.def("timestamp", &kdlib::Module::getTimeDataStamp,
|
||||||
// "Return a low 32 bits of the time stamp of the image: IMAGE_FILE_HEADER.TimeDateStamp" )
|
"Return a low 32 bits of the time stamp of the image: IMAGE_FILE_HEADER.TimeDateStamp" )
|
||||||
//.def("unloaded", &Module::isUnloaded,
|
//.def("unloaded", &Module::isUnloaded,
|
||||||
// "Returns a flag that the module was unloaded")
|
// "Returns a flag that the module was unloaded")
|
||||||
//.def("um", &Module::isUserMode,
|
//.def("um", &Module::isUserMode,
|
||||||
@ -444,8 +446,8 @@ BOOST_PYTHON_MODULE( pykd )
|
|||||||
"Return pointer to the type" )
|
"Return pointer to the type" )
|
||||||
.def( "arrayOf", &kdlib::TypeInfo::arrayOf,
|
.def( "arrayOf", &kdlib::TypeInfo::arrayOf,
|
||||||
"Return array of the type" )
|
"Return array of the type" )
|
||||||
.def( "__str__", &TypeInfoAdapter::print,
|
.def( "__str__", &kdlib::TypeInfo::str,
|
||||||
"Return typa as a printable string" )
|
"Return type as a printable string" )
|
||||||
.def( "__getattr__", TypeInfoAdapter::getElementByName )
|
.def( "__getattr__", TypeInfoAdapter::getElementByName )
|
||||||
.def("__len__", &kdlib::TypeInfo::getElementCount )
|
.def("__len__", &kdlib::TypeInfo::getElementCount )
|
||||||
.def("__getitem__", TypeInfoAdapter::getElementByIndex )
|
.def("__getitem__", TypeInfoAdapter::getElementByIndex )
|
||||||
|
@ -49,10 +49,6 @@ struct TypeInfoAdapter : public kdlib::TypeInfo {
|
|||||||
return typeInfo.getElement(index);
|
return typeInfo.getElement(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::wstring print( kdlib::TypeInfo &typeInfo ) {
|
|
||||||
return L"TYPEINFO STR";
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // end namespace pykd
|
} // end namespace pykd
|
||||||
|
@ -195,6 +195,16 @@ public:
|
|||||||
return convertToPython(var);
|
return convertToPython(var);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static std::wstring str(kdlib::NumBehavior& var) {
|
||||||
|
kdlib::NumVariant v = var;
|
||||||
|
return v.asStr();
|
||||||
|
}
|
||||||
|
|
||||||
|
static std::wstring hex(kdlib::NumBehavior& var) {
|
||||||
|
kdlib::NumVariant v = var;
|
||||||
|
return v.asHex();
|
||||||
|
}
|
||||||
|
|
||||||
static void registerNumConvertion() {
|
static void registerNumConvertion() {
|
||||||
python::converter::registry::push_back( &numConvertible, &numConstruct<long>, python::type_id<long>() );
|
python::converter::registry::push_back( &numConvertible, &numConstruct<long>, python::type_id<long>() );
|
||||||
python::converter::registry::push_back( &numConvertible, &numConstruct<unsigned long>, python::type_id<unsigned long>() );
|
python::converter::registry::push_back( &numConvertible, &numConstruct<unsigned long>, python::type_id<unsigned long>() );
|
||||||
|
Loading…
Reference in New Issue
Block a user