Skip to content

Commit 4d66316

Browse files
committed
service/dap: do not try to access value of unreadable string variables
Fixes #4053
1 parent 4a2a6e1 commit 4d66316

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

service/dap/server.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2437,8 +2437,10 @@ func (s *Session) childrenToDAPVariables(v *fullyQualifiedVariable) []dap.Variab
24372437
reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
24382438
valexpr = fmt.Sprintf("%s[%s]", v.fullyQualifiedNameOrExpr, api.VariableValueAsString(keyv))
24392439
case reflect.String:
2440-
if key := constant.StringVal(keyv.Value); keyv.Len == int64(len(key)) { // fully loaded
2441-
valexpr = fmt.Sprintf("%s[%q]", v.fullyQualifiedNameOrExpr, key)
2440+
if keyv.Unreadabel == nil {
2441+
if key := constant.StringVal(keyv.Value); keyv.Len == int64(len(key)) { // fully loaded
2442+
valexpr = fmt.Sprintf("%s[%q]", v.fullyQualifiedNameOrExpr, key)
2443+
}
24422444
}
24432445
}
24442446
key, keyref := s.convertVariable(keyv, keyexpr)

0 commit comments

Comments
 (0)