@Test
	public void testDeleteBreakpoint() throws Exception {
		try (GdbAndConnection conn = startAndConnectGdb()) {
			conn.execute("""
					file bash
					ghidra trace start
					%s
					break main
					run"""
					.formatted(INSTRUMENT_STOPPED));
			RemoteMethod deleteBreakpoint = conn.getMethod("delete_breakpoint");
			try (ManagedDomainObject mdo = openDomainObject("/New Traces/gdb/bash")) {
				tb = new ToyDBTraceBuilder((Trace) mdo.get());
				waitStopped();
				conn.execute("ghidra trace tx-open Init 'ghidra trace put-breakpoints'");
				TraceObject bpt = Objects.requireNonNull(tb.obj("Breakpoints[1]"));

				deleteBreakpoint.invoke(Map.of("breakpoint", bpt));

				String out = conn.executeCapture("info break");
				assertEquals(1, out.strip().split("\n").length); // Header only
			}
		}
	}
Later versions recognize that disabling the only location disables the whole
breakpoint.
Ghidra/Test/DebuggerIntegrationTest/src/test.slow/java/agent/gdb/rmi/GdbMethodsTest.java