[pykd] added : assembly routine ( sssemble a single processor instruction )

git-svn-id: https://pykd.svn.codeplex.com/svn@69800 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2011-09-16 12:31:57 +00:00
parent e8c6ac7b19
commit 1f20a6f168
3 changed files with 19 additions and 1 deletions

View File

@ -221,7 +221,7 @@ BOOST_PYTHON_MODULE( pykd )
"Delete synthetic symbols by virtual address" );
boost::python::def( "delSynSymbolsMask", &delSyntheticSymbolsMask,
"Delete synthetic symbols by mask of module and symbol name");
boost::python::def( "assembly", &assembly, "Assemble a single processor instruction" );
boost::python::class_<TypeInfo>( "typeInfo",
"Class representing non-primitive type info: structure, union, etc. attributes is a fields of non-primitive type" )

View File

@ -47,3 +47,18 @@ void disasm::doDisasm()
}
/////////////////////////////////////////////////////////////////////////////////
ULONG64
assembly( ULONG64 offset, const std::string &instr )
{
HRESULT hres;
ULONG64 endOffset = 0;
hres = dbgExt->control->Assemble( offset, instr.c_str(), &endOffset );
if ( FAILED( hres ) )
throw DbgException( "IDebugControl::Assemble failed" );
return endOffset;
}
/////////////////////////////////////////////////////////////////////////////////

View File

@ -51,4 +51,7 @@ private:
std::string m_disasm;
};
ULONG64
assembly( ULONG64 offset, const std::string &instr );
/////////////////////////////////////////////////////////////////////////////////