1import lldb 2from lldbsuite.test.lldbtest import * 3from lldbsuite.test.decorators import * 4from lldbsuite.test.gdbclientutils import * 5from lldbsuite.test.lldbgdbclient import GDBRemoteTestBase 6 7class TestWriteMemory(GDBRemoteTestBase): 8 9 mydir = TestBase.compute_mydir(__file__) 10 11 def test(self): 12 13 class MyResponder(MockGDBServerResponder): 14 def setBreakpoint(self, packet): 15 return "OK" 16 17 self.server.responder = MyResponder() 18 target = self.dbg.CreateTargetWithFileAndTargetTriple('', 'x86_64-pc-linux') 19 process = self.connect(target) 20 21 bp = target.BreakpointCreateByAddress(0x1000) 22 self.assertTrue(bp.IsValid()) 23 self.assertEqual(bp.GetNumLocations(), 1) 24 bp.SetEnabled(True) 25 self.assertTrue(bp.IsEnabled()) 26 27 err = lldb.SBError() 28 data = str("\x01\x02\x03\x04") 29 result = process.WriteMemory(0x1000, data, err) 30 self.assertEqual(result, 4) 31