{"record":{"id":"ded4c1180e171329","repo":"go-delve/delve","slug":"no-address-specified","errorCode":null,"errorMessage":"no address specified","messagePattern":"no address specified","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"service/api/command.go","lineNumber":271,"sourceCode":"\t\t\tif err != nil || out.Size <= 0 || out.Size > 8 {\n\t\t\t\treturn nil, errors.New(\"size must be a positive integer (<=8)\")\n\t\t\t}\n\t\tcase \"-x\":\n\t\t\tout.IsExpr = true\n\t\t\t// remaining args are going to be interpreted as expression\n\t\t\tout.Operand = strings.Join(args, \" \")\n\t\t\tbreak loop\n\t\tdefault:\n\t\t\tif len(args) > 0 {\n\t\t\t\treturn nil, fmt.Errorf(\"unknown option %q\", args[0])\n\t\t\t}\n\t\t\tout.Operand = cmd\n\t\t\tbreak loop // only one arg left to be evaluated as a uint\n\t\t}\n\t}\n\n\tif len(out.Operand) == 0 {\n\t\treturn nil, errors.New(\"no address specified\")\n\t}\n\n\treturn &out, nil\n}\n","sourceCodeStart":253,"sourceCodeEnd":276,"githubUrl":"https://github.com/go-delve/delve/blob/a23773e6c31361e43246bc43a424ee009679b174/service/api/command.go#L253-L276","documentation":"After flag parsing, ParseExamineMemoryArg requires a non-empty Operand: the address or expression whose memory should be examined. If the command contained only flags (or nothing at all), Delve returns this error.","triggerScenarios":"`examineMemory` calls with an empty argument string, with only flags such as `x -count 4 -size 8`, or where the address argument was consumed by `-x` handling but evaluated to an empty expression.","commonSituations":"IDEs that send the request before the user typed an address; variables panel drivers that pass an empty expression for values without an address (e.g. optimized-out variables, register-only values).","solutions":["Include an address or expression, e.g. `x -count 4 -size 8 0xc000010000` or `x &myVar`","Check the client sends a valid memory reference; for variables without an address, skip the request","Verify optimized-out or register-allocated variables aren't being passed as operands"],"exampleFix":"// before\ns.examineMemory(ctx, \"x -count 4 -size 8\")\n// after\ns.examineMemory(ctx, \"x -count 4 -size 8 0xc000010000\")","handlingStrategy":"validation","validationCode":"if strings.TrimSpace(operand) == \"\" {\n\treturn // do not issue examineMemory without an address/expression\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Require a non-empty address or expression before the call","Skip examineMemory for variables without a memory address","Validate memoryReference from the client before mapping to the operand"],"tags":["dap","argument-parsing","memory"],"backgroundTag":"missing-required-argument","analyzedSha":"a23773e6c31361e43246bc43a424ee009679b174","analyzedAt":"2026-08-31T15:12:45.221Z","schemaVersion":2},"datasetVersion":"2026-08-31T19:17:28.585Z"}