Lab #5: Lists, and a Little Debugging Practice Get the various points in this lab checked off by a TA by the last lab of Tuesday, 16 October. It would be good, of course, to have them done the FIRST week! Part I: A Little Debugging 1. In the subdirectory ~cs61b/hw/lab5/proj1, you will find files that s student (identity removed) submitted with bug-submit, just as we saw them when we answered the student's question. Read the ERROR file you see there and Use GJDB to solve this student's problems. You might consider the following questions: a. The student asks whether the constructor or print procedure is at fault. Where could you set a breakpoint to find out? b. What gjdb command can you use to see all the contents of a Quantity? c. When you decide whether the problem is in .print or in a Quantity constructor, step through the offending method. What is the problem? (Yes, you could do it by just reading the code, but we'd like you to practice using the debugger). To check-off this item, simply be able to describe what's wrong with the program. NOTE: There appears to be a bug in Sun's implementation of some of the debugging infrastructure on the x86 architecture that causes the floating-point arrays most people used to print incorrectly. To get around this, run the debugger on one of the Sun Sparc machines. A simple way: wherever you are sitting, use the command ssh quasar.cs or ssh pulsar.cs in an xterm window to connect to one of the Sparc-based servers. You run Emacs from there. Part II: 2. Create a Makefile so that 'gmake' will compile the ListHacker.java file. 3. Fill in methods in ListHacker. Make as good use as you can of the methods in the List interface. When finished, show your solutions to the TA to be checked off.