@Test
	public void testReadMem() throws Exception {
		try (GdbAndConnection conn = startAndConnectGdb()) {
			conn.execute("""
					file bash
					ghidra trace start
					%s
					break main
					run"""
					.formatted(INSTRUMENT_STOPPED));
			RemoteMethod readMem = conn.getMethod("read_mem");
			try (ManagedDomainObject mdo = openDomainObject("/New Traces/gdb/bash")) {
				tb = new ToyDBTraceBuilder((Trace) mdo.get());
				waitStopped();
				long snap = 0;
				long pcOff = Long.decode(conn.executeCapture("print/x $pc").split("=")[1].strip());
				TraceObject inf1 = Objects.requireNonNull(tb.obj("Inferiors[1]"));

				readMem.invoke(Map.ofEntries(
					Map.entry("inferior", inf1),
					Map.entry("range", tb.range(pcOff, pcOff + 10))));

				MemDump dump = parseHexDump(conn.executeCapture("x/10bx $pc"));
				assertEquals(pcOff, dump.address());
				assertEquals(10, dump.data().length);
				ByteBuffer buf = ByteBuffer.allocate(dump.data().length);
				tb.trace.getMemoryManager().getBytes(snap, tb.addr(dump.address()), buf);
				assertArrayEquals(dump.data(), buf.array());
			}
		}
	}
Later versions recognize that disabling the only location disables the whole
breakpoint.
Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/gdb/rmi/GdbMethodsTest.java