diff --git a/ogle/demo/ogler/ogler_test.go b/ogle/demo/ogler/ogler_test.go
index 4660ec4..e5803dd 100644
--- a/ogle/demo/ogler/ogler_test.go
+++ b/ogle/demo/ogler/ogler_test.go
@@ -501,4 +501,19 @@
 		}
 		return nil
 	})
+
+	checkValue("main.Z_string", func(val program.Value) error {
+		s, ok := val.(program.String)
+		if !ok {
+			return fmt.Errorf("got %T(%v) expected String", val, val)
+		}
+		if s.Length != 12 {
+			return fmt.Errorf("got string length %d expected 12", s.Length)
+		}
+		expected := "I'm a string"
+		if s.String != expected {
+			return fmt.Errorf("got %s expected %s", s.String, expected)
+		}
+		return nil
+	})
 }
diff --git a/ogle/program/program.go b/ogle/program/program.go
index 367c7d7..f80efe1 100644
--- a/ogle/program/program.go
+++ b/ogle/program/program.go
@@ -133,6 +133,15 @@
 	Capacity uint64
 }
 
+// String is a Var representing a string.
+// TODO: a method to access more of a truncated string.
+type String struct {
+	// Length contains the length of the remote string, in bytes.
+	Length uint64
+	// String contains the string itself; it may be truncated to fewer bytes than the value of the Length field.
+	String string
+}
+
 // Map is a Var representing a map.
 type Map struct {
 	TypeID  uint64
diff --git a/ogle/program/proxyrpc/proxyrpc.go b/ogle/program/proxyrpc/proxyrpc.go
index dc2de15..1a76110 100644
--- a/ogle/program/proxyrpc/proxyrpc.go
+++ b/ogle/program/proxyrpc/proxyrpc.go
@@ -19,6 +19,7 @@
 	gob.Register(program.Struct{})
 	gob.Register(program.Slice{})
 	gob.Register(program.Map{})
+	gob.Register(program.String{})
 }
 
 // For regularity, each method has a unique Request and a Response type even
diff --git a/ogle/program/server/value.go b/ogle/program/server/value.go
index dea3b85..d53e5a8 100644
--- a/ogle/program/server/value.go
+++ b/ogle/program/server/value.go
@@ -180,6 +180,27 @@
 			Address: addr,
 			Length:  length,
 		}, nil
+	case *dwarf.StringType:
+		ptr, err := s.peekPtrStructField(&t.StructType, addr, "str")
+		if err != nil {
+			return nil, fmt.Errorf("reading string location: %s", err)
+		}
+		length, err := s.peekUintOrIntStructField(&t.StructType, addr, "len")
+		if err != nil {
+			return nil, fmt.Errorf("reading string length: %s", err)
+		}
+
+		const maxStringSize = 256
+
+		n := length
+		if n > maxStringSize {
+			n = maxStringSize
+		}
+		tmp := make([]byte, n)
+		if err := s.peekBytes(ptr, tmp); err != nil {
+			return nil, fmt.Errorf("reading string contents: %s", err)
+		}
+		return program.String{Length: length, String: string(tmp)}, nil
 		// TODO: more types
 	}
 	return nil, fmt.Errorf("Unsupported type %T", t)
