Traversing contexts

For the GNU debugger (gdb), I divided a paper in two and wrote in the first column “abstract” and in the second “concrete.” In the one I would put parameterized text beside commands; in the other, specific invocations of personal programs.

abstract                       concrete
--------                       --------
gdb <program>                  gdb ./a.exe
breakpoint <function-name>     breakpoint hello
run                            
n <-> s
quit

You must compile with -g switch in gcc. This helps gdb orient itself. The message pertaining to missing line numbers is related.

Switching between abstract and concrete really helped. First, I did a lot of repetitious typing, which helped me remember. Second, gdb forced me to slow down and consider each line. I hope this technique lets me avoid sprinkling output statements in my code.