| import lldb |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.gdbclientutils import * |
| from lldbsuite.test.lldbgdbclient import GDBRemoteTestBase |
| |
| |
| class TestWriteMemory(GDBRemoteTestBase): |
| def test(self): |
| class MyResponder(MockGDBServerResponder): |
| def setBreakpoint(self, packet): |
| return "OK" |
| |
| self.server.responder = MyResponder() |
| target = self.dbg.CreateTargetWithFileAndTargetTriple("", "x86_64-pc-linux") |
| process = self.connect(target) |
| |
| bp = target.BreakpointCreateByAddress(0x1000) |
| self.assertTrue(bp.IsValid()) |
| self.assertEqual(bp.GetNumLocations(), 1) |
| bp.SetEnabled(True) |
| self.assertTrue(bp.IsEnabled()) |
| |
| err = lldb.SBError() |
| data = str("\x01\x02\x03\x04") |
| result = process.WriteMemory(0x1000, data, err) |
| self.assertEqual(result, 4) |