go-delve/delve · error

bad expression result: %q: %s

Error message

bad expression result: %q: %s

What it means

Error "bad expression result: %q: %s" thrown in go-delve/delve.

Source

Thrown at pkg/terminal/command.go:2121

	var address uint64

	if args.IsExpr {
		val, err := t.client.EvalVariable(ctx.Scope, args.Operand, t.loadConfig())
		if err != nil {
			return err
		}

		switch val.Kind {
		case reflect.Ptr: // "-x &myVar" or "-x myPtrVar"
			if len(val.Children) < 1 {
				return fmt.Errorf("bug? invalid pointer: %#v", val)
			}
			address = val.Children[0].Addr
		case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: // "-x 0xc000079f20 + 8" or -x 824634220320 + 8
			address, err = strconv.ParseUint(api.ExtractIntValue(val.Value), 0, 64)
			if err != nil {
				return fmt.Errorf("bad expression result: %q: %s", val.Value, err)
			}
		default:
			return fmt.Errorf("unsupported expression type: %s", val.Kind)
		}
	} else {
		address, err = strconv.ParseUint(args.Operand, 0, 64)
		if err != nil {
			return fmt.Errorf("convert address into uintptr type failed, %s", err)
		}
	}

	t.stdout.pw.PageMaybe(nil)

	start := address
	remsz := int(args.Count * args.Size)

	for remsz > 0 {
		reqsz := min(rpc2.ExamineMemoryLengthLimit, remsz)

View on GitHub (pinned to a23773e6c3)

When it happens

Trigger: Thrown at pkg/terminal/command.go:2121 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/ba7b7ba348d37641. Report an issue: GitHub.