mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-29 20:03:33 +08:00
[0.3.x] added : reg routine ( return a CPU register value by the register's number )
[0.3.x] added : getNumberRegisters routine ( return a number of CPU registers ) git-svn-id: https://pykd.svn.codeplex.com/svn@89625 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
689042a475
commit
316031fef1
@ -26,6 +26,23 @@ python::object getRegisterByName( const std::wstring &name )
|
|||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
python::object getRegisterByIndex(unsigned long index)
|
||||||
|
{
|
||||||
|
kdlib::NumVariant var;
|
||||||
|
|
||||||
|
do {
|
||||||
|
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
|
||||||
|
var = kdlib::getRegisterByIndex(index);
|
||||||
|
|
||||||
|
} while(false);
|
||||||
|
|
||||||
|
return NumVariantAdaptor::convertToPython( var );
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
python::list getCurrentStack()
|
python::list getCurrentStack()
|
||||||
{
|
{
|
||||||
kdlib::StackPtr stack;
|
kdlib::StackPtr stack;
|
||||||
|
@ -68,6 +68,13 @@ public:
|
|||||||
|
|
||||||
python::object getRegisterByName( const std::wstring &name );
|
python::object getRegisterByName( const std::wstring &name );
|
||||||
|
|
||||||
|
python::object getRegisterByIndex( unsigned long index );
|
||||||
|
|
||||||
|
inline unsigned long getNumberRegisters() {
|
||||||
|
AutoRestorePyState pystate;
|
||||||
|
return kdlib::getRegisterNumber();
|
||||||
|
}
|
||||||
|
|
||||||
inline unsigned long long loadMSR( unsigned long msrIndex )
|
inline unsigned long long loadMSR( unsigned long msrIndex )
|
||||||
{
|
{
|
||||||
AutoRestorePyState pystate;
|
AutoRestorePyState pystate;
|
||||||
|
@ -337,6 +337,10 @@ BOOST_PYTHON_MODULE( pykd )
|
|||||||
// CPU registers
|
// CPU registers
|
||||||
python::def( "reg", pykd::getRegisterByName,
|
python::def( "reg", pykd::getRegisterByName,
|
||||||
"Return a CPU regsiter value by the register's name" );
|
"Return a CPU regsiter value by the register's name" );
|
||||||
|
python::def( "reg", pykd::getRegisterByIndex,
|
||||||
|
"Return a CPU register value by the register's number");
|
||||||
|
python::def( "getNumberRegisters", pykd::getNumberRegisters,
|
||||||
|
"Return a number of CPU registers");
|
||||||
python::def ( "rdmsr", pykd::loadMSR,
|
python::def ( "rdmsr", pykd::loadMSR,
|
||||||
"Return MSR value" );
|
"Return MSR value" );
|
||||||
python::def( "wrmsr", pykd::setMSR,
|
python::def( "wrmsr", pykd::setMSR,
|
||||||
|
Loading…
Reference in New Issue
Block a user