Compiling and Debugging

The Makefiles we will give you works only with the GNU version of make, called ``gmake''. You may want to put ``alias make gmake'' in your .cshrc file.

You should use gdb to debug your program rather than dbx. Dbx doesn't know how to decipher C++ names, so you will see function names like Run__9SchedulerP6Thread.

On the other hand, in GDB (but not DBX) when you do a stack backtrace when in a forked thread (in homework 1), after printing out the correct frames at the top of the stack, the debugger will sometimes go into a loop printing the lower-most frame ( ThreadRoot), and you have to type control-C when it says ``more?''. If you understand assembly language and can fix this, please let me know.