'up' (gdb command) takes you closer to main(…) 'down' (gdb command) takes you closer to the function that has control right now. main(…) is considered the "top" stack frame. Every time a function is called (="invoked"), it creates a stack frame containing: ∙ args ∙ local variables (="locals") ∙ return address GDB ∙ Every command has a short version. list ↔ l break ↔ b See the underlined letters in the reference sheet. ∙ Press Enter to continue/repeat the previous command. FUNCTION DECLARATION declares what parameters are accepted/required and what data type (if any) is returned. void print_integer(int n, int radix, char* prefix); FUNCTION DEFINITION is the whole thing including the body. void print_integer(int n, int radix, char* prefix) { // … }