1 #include <stdio.h> 2 3 // This simple program is to test the lldb Python API related to frames. 4 5 int a(int, char); 6 int b(int, char); 7 int c(int, char); 8 9 int a(int val, char ch) 10 { 11 int my_val = val; 12 char my_ch = ch; 13 printf("a(val=%d, ch='%c')\n", val, ch); 14 if (val <= 1) 15 return b(val+1, ch+1); 16 else if (val >= 3) 17 return c(val+1, ch+1); 18 19 return val; 20 } 21 22 int b(int val, char ch) 23 { 24 int my_val = val; 25 char my_ch = ch; 26 printf("b(val=%d, ch='%c')\n", val, ch); 27 return c(val+1, ch+1); 28 } 29 30 int c(int val, char ch) 31 { 32 int my_val = val; 33 char my_ch = ch; 34 printf("c(val=%d, ch='%c')\n", val, ch); 35 return val + 3 + ch; 36 } 37 38 int main (int argc, char const *argv[]) 39 { 40 int A1 = a(1, 'A'); // a(1, 'A') -> b(2, 'B') -> c(3, 'C') 41 printf("a(1, 'A') returns %d\n", A1); 42 43 int B2 = b(2, 'B'); // b(2, 'B') -> c(3, 'C') 44 printf("b(2, 'B') returns %d\n", B2); 45 46 int A3 = a(3, 'A'); // a(3, 'A') -> c(4, 'B') 47 printf("a(3, 'A') returns %d\n", A3); 48 49 return 0; 50 } 51