1 #include <stdio.h>
2 #include <stdint.h>
3
4 // This simple program is to test the lldb Python API SBValue.GetChildAtIndex().
5
6 int g_my_int = 100;
7
8 const char *days_of_week[7] = { "Sunday",
9 "Monday",
10 "Tuesday",
11 "Wednesday",
12 "Thursday",
13 "Friday",
14 "Saturday" };
15
16 const char *weekdays[5] = { "Monday",
17 "Tuesday",
18 "Wednesday",
19 "Thursday",
20 "Friday" };
21
22 const char **g_table[2] = { days_of_week, weekdays };
23
24 typedef int MyInt;
25
26 struct MyStruct
27 {
28 int a;
29 int b;
30 };
31
32 struct MyBiggerStruct
33 {
34 int a;
35 int b;
36 int c;
37 };
38
39 struct Container
40 {
41 int discriminator;
42 union Data {
43 struct MyStruct small;
44 struct MyBiggerStruct big;
45 } data;
46 };
47
main(int argc,char const * argv[])48 int main (int argc, char const *argv[])
49 {
50 uint32_t uinthex = 0xE0A35F10;
51 int32_t sinthex = 0xE0A35F10;
52
53 int i;
54 MyInt a = 12345;
55 struct MyStruct s = {11, 22};
56 struct MyBiggerStruct f = { 33, 44, 55 };
57 struct Container my_container;
58 my_container.data.big = f;
59 int *my_int_ptr = &g_my_int;
60 printf("my_int_ptr points to location %p\n", my_int_ptr);
61 int *fixed_int_ptr = (int*)(void*)0xAA;
62 int *another_fixed_int_ptr = (int*)(void*)0xAA;
63 int *a_null_int_ptr = NULL;
64 const char **str_ptr = days_of_week;
65 for (i = 0; i < 7; ++i)
66 printf("%s\n", str_ptr[i]); // Break at this line
67 // and do str_ptr_val.GetChildAtIndex(5, lldb.eNoDynamicValues, True).
68
69 return 0;
70 }
71