File: stack_frame.txt

package info (click to toggle)
gdb-doc 8.2.1-1
  • links: PTS, VCS
  • area: non-free
  • in suites: buster
  • size: 224,856 kB
  • sloc: ansic: 1,935,878; asm: 341,756; exp: 146,402; makefile: 56,625; sh: 23,696; cpp: 20,830; yacc: 12,914; perl: 5,331; ada: 4,977; python: 4,617; xml: 4,176; pascal: 3,134; lisp: 1,527; cs: 879; lex: 620; f90: 479; sed: 228; awk: 140; objc: 134; fortran: 43
file content (39 lines) | stat: -rw-r--r-- 2,168 bytes parent folder | download | duplicates (37)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
                  ^    ->|            |
Frame             |   |  |            |
Number          - |   |  |============|       int fact (int n)
               |  |   |  |   i = 3    |       {
               |  |   |  |------------|         if (0 == n) {
               |  |   |  |   f = ?    |           return  1;  <-------- PC
  #4 main()   <   |   |  |------------|        }
               |  |   |  |            |         else {
               |  |  -+->|------------|   --->    return n * fact (n - 1);
               |   -+-+--+-----o      |  |      }
                =   | |  |============|  |    }
               |    | |  |   n = 3    |  |
               |    | |  |------------|  |    main ()
  #3 fact (3) <     | |  |     o---------+-   {
               |   -+-+->|------------|  | |    int  i;
               |  | |  --+-----o      |  | |
                = | |    |============|  | |    for (i = 0; i < 10; i++) {
               |  | |    |   n = 2    |  |  ->    int  f = fact (i);
               |  | |    |------------|  |        printf ("%d! = %d\n", i , f);
  #2 fact (2) <   | |    |     o------+--|      }
               |  | |  ->|------------|  |    }
               |  |  -+--+-----o      |  |
                = |   |  |============|  |
               |  |   |  |   n = 1    |  |
               |  |   |  |------------|  |
  #1 fact (1) <   |   |  |     o------+--|
               |  |   |  |------------|  |
               |   ---|--+-----o      |<-+------- FP
                =     |  |============|  |                   |
               |      |  |   n = 0    |  |                   |
               |      |  |------------|  |                   |
  #0 fact (0) <       |  |     o---------                    |
               |      |  |------------|                      |
               |       --+-----o      |<--------- SP         |
                =        |============|                      |
               |         |  Red Zone  |                      v  
               |         \/\/\/\/\/\/\/                 Direction of
  #-1         <          \/\/\/\/\/\/\/                 stack growth
               |         |            |