@@ -0,0 +1,1404 @@
+/*%0A * #%25L%0A * ImageJ interactive debugging tutorials.%0A * %25%25%0A * Copyright (C) 2009 - 2015 Board of Regents of the University of Wisconsin-Madison%0A * %25%25%0A * To the extent possible under law, the ImageJ developers have waived%0A * all copyright and related or neighboring rights to this tutorial code.%0A * %0A * See the CC0 1.0 Universal license for details:%0A * http://creativecommons.org/publicdomain/zero/1.0/%0A * #L%25%0A */%0A%0Apackage net.imagej.trouble.visible;%0A%0A/**%0A * Exercise 1: Setting breakpoints, stepping through code, and viewing variables%0A * in the Debug perspective.%0A *%0A * @author Mark Hiner %3Chinerm@gmail.com%3E%0A */%0Apublic class E1BasicBreakpoints %7B%0A%0A%09public static void main(final String... args) %7B%0A%09%09// Here is where our object is being created.%0A%09%09// If we need to debug the creation process, we could%0A%09%09// add a breakpoint on this line.%0A%09%09final Object o = makeAThing();%0A%0A%09%09printThis(o);%0A%09%7D%0A%0A%09private static Object makeAThing() %7B%0A%09%09final Object o = new Object();%0A%09%09System.out.println(o);%0A%0A%09%09return null;%0A%09%7D%0A%0A%09private static void printThis(final Object o) %7B%0A%09%09// This method doesn't do any input validation.%0A%09%09// If %22o%22 is null we will see a NullPointerException here,%0A%09%09// however that doesn't tell us WHY it's null.%0A%09%09//%0A%09%09// Setting a breakpoint here is limited in usefulness,%0A%09%09// since whether or not %22o%22 is valid has been%0A%09%09// determined prior to this point.%0A%09%09System.out.println(o.toString());%0A%09%7D%0A%7D%0A

Create Exercise 1