go-delve/delve · error

couldn't find thread %d

Error message

couldn't find thread %d

What it means

Error "couldn't find thread %d" thrown in go-delve/delve.

Source

Thrown at service/debugger/debugger.go:1685

		return nil, err
	}
	pvr := pv[:0]
	for i := range pv {
		if regex.MatchString(pv[i].Name) {
			pvr = append(pvr, pv[i])
		}
	}
	return pvr, nil
}

// ThreadRegisters returns registers of the specified thread.
func (d *Debugger) ThreadRegisters(threadID int) (*op.DwarfRegisters, proc.DwarfRegisterToStringFunc, error) {
	d.targetMutex.Lock()
	defer d.targetMutex.Unlock()

	thread, found := d.target.Selected.FindThread(threadID)
	if !found {
		return nil, nil, fmt.Errorf("couldn't find thread %d", threadID)
	}
	regs, err := thread.Registers()
	if err != nil {
		return nil, nil, err
	}
	return d.target.Selected.BinInfo().Arch.RegistersToDwarfRegisters(0, regs), d.target.Selected.BinInfo().Arch.DwarfRegisterToString, nil
}

// ScopeRegisters returns registers for the specified scope.
func (d *Debugger) ScopeRegisters(goid int64, frame, deferredCall int) (*op.DwarfRegisters, proc.DwarfRegisterToStringFunc, error) {
	d.targetMutex.Lock()
	defer d.targetMutex.Unlock()

	s, err := proc.ConvertEvalScope(d.target.Selected, goid, frame, deferredCall)
	if err != nil {
		return nil, nil, err
	}
	return &s.Regs, d.target.Selected.BinInfo().Arch.DwarfRegisterToString, nil

View on GitHub (pinned to a23773e6c3)

When it happens

Trigger: Thrown at service/debugger/debugger.go:1685 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/5cb0869114b16df7. Report an issue: GitHub.