diff --git a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp index 12ac495e9c..ddcd4f825b 100644 --- a/src/apps/debugger/debugger_interface/DebuggerInterface.cpp +++ b/src/apps/debugger/debugger_interface/DebuggerInterface.cpp @@ -575,6 +575,17 @@ DebuggerInterface::ReadMemory(target_addr_t address, void* buffer, size_t size) } +ssize_t +DebuggerInterface::WriteMemory(target_addr_t address, void* buffer, + size_t size) +{ + DebugContextGetter contextGetter(fDebugContextPool); + + return debug_write_memory(contextGetter.Context(), + (const void*)(addr_t)address, buffer, size); +} + + status_t DebuggerInterface::_CreateDebugEvent(int32 messageCode, const debug_debugger_message_data& message, bool& _ignore, diff --git a/src/apps/debugger/debugger_interface/DebuggerInterface.h b/src/apps/debugger/debugger_interface/DebuggerInterface.h index 8a2beadf21..165f76fe06 100644 --- a/src/apps/debugger/debugger_interface/DebuggerInterface.h +++ b/src/apps/debugger/debugger_interface/DebuggerInterface.h @@ -60,6 +60,8 @@ public: // TeamMemory virtual ssize_t ReadMemory(target_addr_t address, void* buffer, size_t size); + virtual ssize_t WriteMemory(target_addr_t address, + void* buffer, size_t size); private: struct DebugContext; diff --git a/src/apps/debugger/model/TeamMemory.h b/src/apps/debugger/model/TeamMemory.h index a945a54577..e1a391683a 100644 --- a/src/apps/debugger/model/TeamMemory.h +++ b/src/apps/debugger/model/TeamMemory.h @@ -21,6 +21,8 @@ public: size_t size) = 0; virtual status_t ReadMemoryString(target_addr_t address, size_t maxLength, BString& _string); + virtual ssize_t WriteMemory(target_addr_t address, + void* buffer, size_t size) = 0; };