[lldb/Plugins] Add memory writing capabilities to Scripted Process
This patch adds memory writing capabilities to the Scripted Process plugin. This allows to user to get a target address and a memory buffer on the python scripted process implementation that the user can make processing on before performing the actual write. This will also be used to write trap instruction to a real process memory to set a breakpoint. Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
This commit is contained in:
1 parent
e02a355f98
commit
f190ec6882
13 files changed
+107
-8
No files matched your search
@@ -135,6 +135,22 @@ lldb::DataExtractorSP ScriptedProcessPythonInterface::ReadMemoryAtAddress(
|
||||
return data_sp;
|
||||
}
|
||||
|
||||
size_t ScriptedProcessPythonInterface::WriteMemoryAtAddress(
|
||||
lldb::addr_t addr, lldb::DataExtractorSP data_sp, Status &error) {
|
||||
Status py_error;
|
||||
StructuredData::ObjectSP obj =
|
||||
Dispatch("write_memory_at_address", py_error, addr, data_sp, error);
|
||||
|
||||
if (!CheckStructuredDataObject(LLVM_PRETTY_FUNCTION, obj, error))
|
||||
return LLDB_INVALID_OFFSET;
|
||||
|
||||
// If there was an error on the python call, surface it to the user.
|
||||
if (py_error.Fail())
|
||||
error = py_error;
|
||||
|
||||
return obj->GetIntegerValue(LLDB_INVALID_OFFSET);
|
||||
}
|
||||
|
||||
StructuredData::ArraySP ScriptedProcessPythonInterface::GetLoadedImages() {
|
||||
Status error;
|
||||
StructuredData::ArraySP array =
|
||||
|
||||
Reference in new issue
Block a user