Commit 1f20a6f1 authored by SND\kernelnet_cp's avatar SND\kernelnet_cp
Browse files

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

git-svn-id: https://pykd.svn.codeplex.com/svn@69800 9b283d60-5439-405e-af05-b73fd8c4d996
parent e8c6ac7b
......@@ -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" )
......
......@@ -46,4 +46,19 @@ void disasm::doDisasm()
m_disasm = std::string( buffer, disasmSize - 2);
}
/////////////////////////////////////////////////////////////////////////////////
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;
}
/////////////////////////////////////////////////////////////////////////////////
\ No newline at end of file
......@@ -51,4 +51,7 @@ private:
std::string m_disasm;
};
ULONG64
assembly( ULONG64 offset, const std::string &instr );
/////////////////////////////////////////////////////////////////////////////////
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment