go-delve/delve · error

could not write memory

Error message

could not write memory

What it means

Error "could not write memory" thrown in go-delve/delve.

Source

Thrown at pkg/proc/native/threads_darwin.go:108

// the operating system level.
func (t *nativeThread) Stopped() bool {
	return C.thread_blocked(t.os.threadAct) > C.int(0)
}

func (t *nativeThread) WriteMemory(addr uint64, data []byte) (int, error) {
	if ok, err := t.dbp.Valid(); !ok {
		return 0, err
	}
	if len(data) == 0 {
		return 0, nil
	}
	var (
		vmData = unsafe.Pointer(&data[0])
		vmAddr = C.mach_vm_address_t(addr)
		length = C.mach_msg_type_number_t(len(data))
	)
	if ret := C.write_memory(t.dbp.os.task, vmAddr, vmData, length); ret < 0 {
		return 0, fmt.Errorf("could not write memory")
	}
	return len(data), nil
}

func (t *nativeThread) ReadMemory(buf []byte, addr uint64) (int, error) {
	if ok, err := t.dbp.Valid(); !ok {
		return 0, err
	}
	if len(buf) == 0 {
		return 0, nil
	}
	var (
		vmData = unsafe.Pointer(&buf[0])
		vmAddr = C.mach_vm_address_t(addr)
		length = C.mach_msg_type_number_t(len(buf))
	)

	ret := C.read_memory(t.dbp.os.task, vmAddr, vmData, length)

View on GitHub (pinned to a23773e6c3)

When it happens

Trigger: Thrown at pkg/proc/native/threads_darwin.go:108 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of go-delve/delve@a23773e6c3 (2026-08-31). Data as JSON: /api/errors/6e15de9fa64a31e0. Report an issue: GitHub.