1void puts(const char *);
2
3#define LLDBSUMMARY __attribute__((section("__TEXT,__lldbsummaries"), used))
4
5struct Player {
6 char *name;
7 int number;
8};
9
10LLDBSUMMARY unsigned char _Player_type_summary[] =
11 "\x01" // version
12 "\x25" // record size
13 "\x07" // type name size
14 "Player\0" // type name
15 "\x1c" // summary string size
16 "${var.name} (${var.number})"; // summary string
17
18struct Layer {
19 char *name;
20 int number;
21};
22
23LLDBSUMMARY unsigned char _padding[] = "\x00\x00";
24
25// Near copy of the record for `Player`, using a regex type name (`^Layer`).
26LLDBSUMMARY unsigned char _Layer_type_summary[] =
27 "\x01" // version
28 "\x25" // record size
29 "\x07" // type name size
30 "^Layer\0" // type name
31 "\x1c" // summary string size
32 "${var.name} (${var.number})"; // summary string
33
34int main() {
35 struct Player player;
36 player.name = "Dirk";
37 player.number = 41;
38 struct Layer layer;
39 layer.name = "crust";
40 layer.number = 3;
41 puts("break here");
42 return 0;
43}
44

source code of lldb/test/API/functionalities/data-formatter/embedded-summary/main.c