Maybe everybody else already knows this, but I thought it was pretty neat anyway:
If you compile some C code with -g option (to include debugging symbols), you can then use
objdump on the binary, with the
-S switch, to get source code intermixed with assembly. For example, here is a snippet from one of my binaries:
Code:
int main() {
401163: 55 push %rbp
401164: 48 89 e5 mov %rsp,%rbp
401167:
...