Author: Loh Jianxiong Christopher Editors: Chua Jie Sheng, Li Mengran, Peh Shao Hong, Oo Theong Siang.

Slides:



Advertisements
Similar presentations
Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Advertisements

COMPUTER PROGRAMMING I Essential Standard 5.02 Understand Breakpoint, Watch Window, and Try And Catch to Find Errors.
Using XCode © 2013 Surajit A Bose De Anza College.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
Georgia Institute of Technology DrJava Appendix A Barb Ericson Georgia Institute of Technology May 2006.
MT311 Tutorial Li Tak Sing( 李德成 ). Uploading your work You need to upload your work for tutorials and assignments at the following site:
Lecture Roger Sutton CO331 Visual programming 15: Debugging 1.
Java Integrated Development Environments: ECLIPSE Part1 Installation.
The IDE (Integrated Development Environment) provides a DEBUGGER for locating and correcting errors in program logic (logic errors not syntax errors) The.
Introduction to Java Lab CS110A – Lab Section 004 Instructor: Duo Wei.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
Getting started with Eclipse By Alexander Butyaev.
CHAPTER 6 Loop Structures.
Chapter 4 Code Editor Goals and Objectives Program more efficiently? How can you speed up your development process? Do you want to learn useful shortcuts.
XP New Perspectives on Introducing Microsoft Office XP Tutorial 1 1 Introducing Microsoft Office XP Tutorial 1.
1 v1.6 08/02/2006 Overview of Eclipse Lectures 1.Overview 2.Installing and Running 3.Building and Running Java Classes 4.Refactoring 5.Debugging 6.Testing.
Using Eclipse. What is Eclipse? The Eclipse Platform is an open source IDE (Integrated Development Environment), created by IBM for developing Java programs.
Chapter 1a© copyright Janson Industries RAD ▮ Explain Eclipse, RAD, and their relationship ▮ Basic RAD concepts ▮ How to install RAD ▮ How to import.
1 Development Environments AUBG, COS dept Lecture Title: Dev Env: Eclipse (Extract from Syllabus) Reference:
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
CPSC1301 Computer Science 1 Overview of Dr. Java.
Introduction to Eclipse CSC 216 Lecture 3 Ed Gehringer Using (with permission) slides developed by— Dwight Deugo Nesa Matic
Debugging Dwight Deugo Nesa Matic
Debugging. 2 © 2003, Espirity Inc. Module Road Map 1.Eclipse Debugging  Debug Perspective  Debug Session  Breakpoint  Debug Views  Breakpoint Types.
Debugging in Java. Common Bugs Compilation or syntactical errors are the first that you will encounter and the easiest to debug They are usually the result.
Active-HDL Interfaces Debugging C Code Course 10.
(for Visual C++) Created by Daniel Lee, Li Mengran (past tutors) Contributions: Loke Yan Hao (current tutor)
Welcome To Eclipse. Basic Concepts Workspace – directory where your projects are stored –Projects grouping of related works –Resources generic term to.
Unit 1: Java and Eclipse The Eclipse Development Environment.
9/2/ CS171 -Math & Computer Science Department at Emory University.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Eclipse debugger.
EIE375 BlueJ: Getting Started Dr Lawrence Cheung.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 8 Debugging, Creating Executable Files, and Distributing a Windows Application.
SilkTest 2008 R2 SP1: Silk4J Introduction. ConfidentialCopyright © 2008 Borland Software Corporation. 2 What is Silk4J? Silk4J enables you to create functional.
Using This PowerPoint This PowerPoint presentation assumes your Computer Science teacher has provided you with the InstallingJava folder, which contains.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 What we'll cover here l Using the debugger: Starting the debugger Setting.
Georgia Institute of Technology Creating Classes part 2 Barb Ericson Georgia Institute of Technology June 2006.
Eclipse Project. Installing Visit to download a copy for your home computerhttp:// –Get Release version 3.0 (or.
Author: Loh Jianxiong Christopher Contributions: Chua Jie Sheng, Li Mengran, Peh Shao Hong, Oo Theong Siang, Tong Chun Kit, Tania Chattopadhyay.
Intro to. Contents These slides describe how one can obtain (download) and use eclipse to build, run, and debug basic Java programs.
Debugging tools in Flash CIS 126. Debugging Flash provides several tools for testing ActionScript in your SWF files. –The Debugger, lets you find errors.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
Netbeans QuickStart. Creating a project File->New Project –For now you want General->Java Application –Then fill in the project details.
Editing and Debugging Mumps with VistA and the Eclipse IDE Joel L. Ivey, Ph.D. Dept. of Veteran Affairs OI&T, Veterans Health IT Infrastructure & Security.
1 Using an Integrated Development Environment. Integrated Development Environments An Integrated Development Environment, or IDE, permits you to edit,
Author: Loh Jianxiong Christopher Contributions: Chua Jie Sheng, Li Mengran, Peh Shao Hong, Oo Theong Siang, Tong Chun Kit, Tania Chattopadhyay.
Debugging with Eclipse
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Eclipse.
The eclipse IDE IDE = “Integrated Development Environment”
ATS Application Programming: Java Programming
Appendix A Barb Ericson Georgia Institute of Technology May 2006
Debugging Dwight Deugo
Eclipse Navigation & Usage.
Testing and Debugging.
Computer Programming I
Barb Ericson Georgia Institute of Technology Dec 2009
Using Visual Studio with C#
Important terms Black-box testing White-box testing Regression testing
Important terms Black-box testing White-box testing Regression testing
Debugging with Eclipse
DEBUGGING JAVA PROGRAMS USING ECLIPSE DEBUGGER
Tonga Institute of Higher Education
Debugging Dwight Deugo
Java IDE Dwight Deugo Nesa Matic Portions of the notes for this lecture include excerpts from.
Debugging with Eclipse
Workshop for Programming And Systems Management Teachers
Presentation transcript:

Author: Loh Jianxiong Christopher Editors: Chua Jie Sheng, Li Mengran, Peh Shao Hong, Oo Theong Siang

Introduction to Eclipse A powerful IDE (Integrated Development Environment) Provides many features and tools to aid in software development Download the latest version of Eclipse from: “Eclipse IDE for Java Developers” should be sufficient for this module - For those who installed Eclipse before, note that the recommended version is Eclipse Kepler (4.3) This tutorial has two parts: Part A: Setting up a project Part B: Debugging 2

Starting Eclipse When you first start Eclipse, you will be asked to set a workspace folder, which is the location where all your project related files will be stored 4

Creating HelloWorld Project 5 On the top menu bar, click: File  New  Project. [For Mac Users] If New menu is empty, right click on a blank area of the Package Explorer. (See Next Slide)

Creating HelloWorld Project (Mac Users) 6 Right-click on the blank area of Package Explorer, click: New  Project.

Hello World! 7 Select “Java Project” from the wizard, and click “Next>”

HelloWorld 8 Type in our project name “HelloWorld” and click “Finish”.

The Workbench 9 The package explorer pane displays the various files (some source, some bytecode) included in your project in the form of a tree. Click the triangular buttons to the left of the individual folders to expand or collapse them. (If a folder is empty, the expand/collapse button is not displayed) This is the editor area. Since no file is opened, it’s blank. The Outline pane displays an outline of a structured file that is currently open in the editor area, and lists structural elements. This is where various output from the IDE are displayed. We are currently at the Problems pane. That should bring you to something like this, called the ‘Workbench’. It has following main components. Task list is the place where you can assign tasks within the project.

Adding a new class 10 Right click on the folder “src” and select New -> Class Now, let us add a new class to our project.

Name the new class 11 In the Name field, type in “HelloWorld” Then press “Finish”.

Start Editing 12 To star editing, double click “HelloWorld.java” in Package Explorer to open it up in the editor pane.

Eclipse Code-Assist Now write the main function as shown and type in: System.out.println(“Hello World!”); 13 When typing code, the code-assist window pops up to help the user. This is called the ‘code assist’ feature. Double-clicking a selection (or press Enter at it) will have Eclipse fill in the rest of the code automatically.

Outline Pane 14 Notice that the Outline pane gives a structural view of “HelloWorld.java”, that it contains the class “HelloWorld”, in which there is a function “main”.

Running HelloWorld To run our project, select Run -> Run As -> Java Application Note: In Eclipse, there is no need to compile before running (compilation is done automatically as you type). 15

Output Program output is displayed below the editor window under the ‘Console’ tab 16

To View the Console If the console is not visible, click: Window  Show View  Console. 17

Error Detection and Correction in the left margin means there is an error on that line. Red squiggly lines ( ) indicates where the error is. Moving the mouse over either will bring up a description of the error. For example, had we forgotten to type the semicolon (;), we’d see this error below. 18

Error Detection and Correction Sometimes Eclipse can attempt to correct errors. This is available when a light bulb icon ( ) is displayed on the left margin. We can pick a suggestion listed and Eclipse will do the correction accordingly. 19

Auto Formatting Select Source  Format, or press Ctrl+Shift+F will auto format your code according to Java conventions 20

Eclipse Debugger Eclipse contains a powerful debugger that enables us to easily find and fix problems. It lets us suspend a program during execution, in order to allow the user to step through the code line by line. We will demonstrate the basic functionality of the debugger first and then debug a buggy program. 22

To demonstrate the functions of the Debugger, we will be using this piece of code: public class Search { public static void main(String[] args) { int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; boolean result = searchArray(array, array.length, 15); System.out.println(result); } public static boolean searchArray(int[] a, int length, int x) { boolean isFound = false; for (int index = 0; index < length; index++) { if (a[index] == x) { isFound = true; } return isFound; } 23

Breakpoints Before we can begin debugging, we need to set a breakpoint. Whenever the debugger encounters a breakpoint, the program will be suspended to allow the user to start debugging. To set a breakpoint, double click on the left margin in the editor window. To remove a breakpoint, double click on it again. If no breakpoint is set, the debugger will automatically suspend only if it encounters an exception during runtime. 24 Here a breakpoint has been set next to the main method. When we start the debugger, the program will suspend when it reaches this point in the code.

Running The Debugger To run the Debugger, select Run -> Debug As -> Java Application This brings Eclipse to the Debug Perspective 25

Perspectives Now the IDE is in debug ‘perspective’. A perspective is a set of views and windows. It provides the user with the necessary views and windows for a certain task. The default perspective that we have seen so far is the ‘Java’ perspective, and is used for coding. When Eclipse debugger is run, the workbench automatically switches to the ‘Debug’ perspective. 26 Notice how this changed from ‘Java’ to ‘Debug’

Debug Perspective 27 Program stack frame Variables associated with current stack Editor window. The next line to be executed is highlighted These are the main components of the debug perspective.

Stepping Through Code 28 These 3 buttons, “Step Into”, “Step Over” and “Step Return”, allows the user to Navigate through the code Step Over (F5): Executes current line and suspend at the next line Step Into (F6): Moves into the method or constructor at the current line Step Return (F7): Executes until the current function returns and pauses immediately

Step Over 29 Using Step Over, the debugger will go through the code one line at a time

Step Over 30 Using Step Over, the debugger will go through the code one line at a time

Step Over 31 Using Step Over, the debugger will go through the code one line at a time

Step Into 32 If there is a method or constructor in the current line, Step Into can be used to move into the method

Step Into 33 If there is a method or constructor in the current line, Step Into can be used to move into the method

Step Return 34 If we are in the middle of a method execution, Step Return will execute until the end of current method and returns to the next line of the calling method.

Step Return 35 If we are in the middle of a method execution, Step Return will execute until the end of current method and returns to the next line of the calling method.

Stepping Through Code 36 The program stack frame can help us understand and find out where we are in the current program execution. As calls to methods are made, they are added on top of the ‘stack’. As methods are exited, they are removed from the ‘stack’ From the above example, we can see that we are currently executing the searchArray method, and that it was called by the main method

Stepping Through Code 37 As we step through the code, the variables window automatically updates the values of each variable. We can select different stack frames here to inspect

Expressions The variables window automatically keeps track of variables in the current scope of execution Eclipse can also keep track of expressions, for example we can add a[index], or a[index]==x to the expressions window to examine its value at any time during execution 38 To add an expression to the expression window, highlight it in the editor window, right click and select Watch

Expressions 39 Expressions may also be added manually, by clicking “Add new expression”

Conditional Breakpoints Conditional breakpoints may be used to give the user more flexibility when debugging To set conditions on a breakpoint, select the “Breakpoints” tab, right click on a breakpoint, and select “Breakpoint Properties…” 40

Conditional Breakpoints 41 Hit count: This option will only suspend the program after the breakpoint has been hit a specified number of times. This is useful when large loops are involved. Condition: This option will only suspend the program if the specified condition is true, or if the value of the condition changes.

Self-test Assignment: Buggy Sort Now time to get our hands dirty. Create a new Java project. Add a new class called “BuggySort” Copy the contents of BuggySort class in the next slide into the “BuggySort” class your created. It is supposed to print an array, sort it then print the sorted array. Now run the program. 42

43 public class BuggySort { public static void printArray(int[] arr, int startIndex, int endIndex) { int i; for (i = startIndex; i <= endIndex; i++) { System.out.print(arr[i] + " "); } System.out.println(); } public static void bubbleSort(int[] arr, int startIndex, int endIndex) { int i, j, temp; for (i = endIndex; i > startIndex; i--) { for (j = startIndex; j < i; i++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } public static void main(String args[]) { int data[] = { 45, 2, 33, 11, 5, 9, 7, 21, 10, 67, 99, 123, 42, 81, 100, 54 }; System.out.println("our numbers:"); printArray(data, 0, 15); System.out.println(); bubbleSort(data, 0, 15); System.out.println("after sorting:"); printArray(data, 0, 15); System.out.println(); }

Expected output and Actual output 44 Expected output that we’d like to see Actual output: The program actually hangs after printing the initial array Now press the red rectangular button to stop execution

Start Debugging 45 Since the initial array is printed with no problem. We suspect that it’s the sorting function that enters an infinite loop, causing the program to hang. Set a breakpoint at the start of the outer loop, and start debugging by selecting Run -> Debug As -> Java application

Step through the inner loop once 46 Now the program pauses at the starting point of the outer loop. We want to check the loop indices as the loops step through iterations. So, step through the inner loop once and pause at the start of the inner loop.

Check loop indices 47 Current loop indices i and j have values of 15 and 0 respectively, which are correct. As we step over the wrapping up of the loop, we notice the value of i has changed from 15 to 16, as highlighted by the IDE with the yellow color. This is wrong, we were expecting j to increment.

Locating and correcting the error 48 As we examine the code more closely, we find that what should have been “j++” was wrongly typed as “i++”. Correct it, remove the breakpoint and run again, we should see the program behave correctly.