1 | void puts(const char *); |
2 | |
3 | #define LLDBSUMMARY __attribute__((section("__TEXT,__lldbsummaries"), used)) |
4 | |
5 | struct Player { |
6 | char *name; |
7 | int number; |
8 | }; |
9 | |
10 | LLDBSUMMARY 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 | |
18 | struct Layer { |
19 | char *name; |
20 | int number; |
21 | }; |
22 | |
23 | LLDBSUMMARY unsigned char _padding[] = "\x00\x00" ; |
24 | |
25 | // Near copy of the record for `Player`, using a regex type name (`^Layer`). |
26 | LLDBSUMMARY 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 | |
34 | int 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 | |