Debugging in the Eclipse 발표자 : 정영권 ANU NGN Lab.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

© 2012 인피니티북스 All rights reserved 제 3 장 이클립스 사용하기 Power Java.
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
7 월 12 일 실습 StockQuoteClient.java MarketClient.java.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
재료수치해석 HW # 박재혁.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
2. 앱 개발환경 구축 Step by Step 안드로이드 프로그래밍 쉽게 시작하는 안드로이드 4.4 앱 개발.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Database Laboratory, Hong Ik University
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
제3장 이클립스 사용하기.
이클립스를 이용한 AVR 개발환경 구축 로보틱스랩 유승일.
Java 기초 (Java JDK 설치 및 환경설정)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
C / C++ Programming in multi platform
1. C++ 시작하기.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
NJM Messenger 박상원 박연호.
D / K / I / T / E / C / H / N / O / L / O / G / Y
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
ARM Development Suite v1.2
Cross Compiler 설치.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
JAVA CDT install
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
개발 환경 세팅.
홀인원2.0 설치 메뉴얼.
Go Lang 리뷰 이동은.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제목소개 1. 안드로이드소개 2. 패킷캡쳐를 위한 환경 소개 3. ndk 소개 4. lipcap 5. 6.도식화 그림
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
Part 4 클래스 라이브러리 Chapter 10 : 다중 스레드 Chapter 11 : 패키지와 주요 클래스
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
자바 5.0 프로그래밍.
자바 가상 머신 프로그래밍 Chap 10. 자바 컴파일링의 안쪽 ② Pslab 오민경.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
빌드 성공.
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
STS 또는 Eclipse 에서 프로젝트를 Export 하고 Import 하는 방법
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
발표자 : 이지연 Programming Systems Lab.
다자간 채팅프로그램 김형도 허영민
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
동적메모리와 연결 리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
CODE INJECTION 시스템B 김한슬.
Platform Builder 사용법.
1장. C Language Synopsis.
Presentation transcript:

Debugging in the Eclipse 발표자 : 정영권 ANU NGN Lab

목차 Eclipse 에 대한 소개  Eclipse Architecture  Eclipse Perspective Eclipse Debugging  View  Step 단위 진행  Step Filtering Eclipse Tips

Eclipse Open-source 개발 Platform  원래 IBM 에서 개발하던 개발 Platform  JAVA 로 작성되어 개발되었음 JAVA VM 위에서 돌아가기 때문에, JAVA VM 이 실행될 수 있는 어떤 운영체제에서도 돌아감 (Window, Linux, Unix...)‏  다양한 프로그래밍 언어 개발을 지원 JAVA IDE 뿐만 아니라, C/C++, Python 등의 다른 언어로의 개발도 가능  Eclipse 라는 이름은 식 ( 蝕 ) 을 의미 Sun Microsystems 을 염두에 두고 지은것이라 추측  현재 많은 S/W 벤더들이 컨소시엄에 참가하고 있음 우리 나라의 ETRI 도 참여하고 있음

Eclipse Architecture

Eclipse Architecture (cont`d) Platform RunTime  Eclipse 의 kernel 에 해당하는 부분  이 부분을 제외한 이클립스의 모든 부분이 플러그인 Workbench  이클립스 IDE 의 표준화된 인터페이스를 제공함  개발자가 실제로 접하는 부분  SWT/JFace 로 구현 Workspace  자원 ( 사용자가 생성한 project, file, folder 등 ) 의 관리

Eclipse Architecture (cont`d) JDT (Java Development Tools)  이클립스를 이용한 JAVA 개발 환경을 지원  JAVA Application Compile, Debugging, UI View 등 PDE (Plug-in Development Environment)  이클립스에 필요한 또 다른 플러그인을 제작할 수 있는 환경  이클립스의 기능을 무한대로 확장시켜 줄 수 있는 토대

Eclipse Perspective Perspective  Workbench 를 구성하는 editor/view 의 모음  현재 작업공간이나 프로젝트를 어떤 시각 (perspective) 로 볼 것인 가에 대한 표현  JAVA Programming 을 할 때는 JAVA perspective 로 작업  Debug 를 할 때는 Debug perspective 로 작업

Debug Perspective

Debugging View 디버깅하는 프로그램을 실행 / 관리  디버그 모드로 실행할 경우에, 해당 프로그램에 속하는 Thread 까지 표시됨  여러 개의 프로그램을 동시에 디버깅할 수 있음 서버 / 클라이언트 기반 프로그램을 동시에 실행시켜서 디버깅할 수 있음

Variables View Debug View 에서 선택한 스택 프레임에서 볼 수 있는 변수들을 트리 형태로 표시

BreakPoints view 현재 설정한 BreakPoint 들을 보여준다  소스코드에 직접 가지 않아도이곳에서 Breakpoint 를 비활성화 / 해제 할수 있음  Hit Count / Suspend VM 설정이 가능 Hit Count : breakpoint 가 정해진 횟수만큼 실행되기 직전에만 멈춤 Suspend VM : 프로그램의 모든 스레드를 일제히 멈추게 함

Expression View 현재 스택 프레임의 context 에서, 어떤 수식이나 변수를 평가하여 그 값을 보여줌  값이 변화하는 모습까지도 확인 가능

Display View 현재 스택 프레임의 컨텍스트에서 수식 또는 변수를 평가하여 그 값을 보여줌  Expression view 와 다른 점은 평가하려는 수식이나 변수를 뷰에 직접 입력 가능함  디버깅 중 실제 코드를 수정하지 않고 어떤 값을 평가해 볼 수 있음  GUI Application 에서 프로그램 실행 중 UI 를 변경할 수도 있음 ( 실제 코드를 수정하는 것이 아니기 때문에 임시적 )

Display View

Hot Code Replace 프로그램이 디버깅 모드에서 실행되고 있는 동안에도 코드를 수정하여서 컴파일한 결과를 반영하는 기능  소스를 수정하고 바로 저장하면 실행중인 결과가 반영됨  메소드나 필드를 추가한 경우에는 hot code replace 가 불가능함 -> 다시 실행시켜야 함

Step 단위 진행 Breakpoint 로 프로그램의 실행 중 어떤 스레드가 멈춘 후, 프로그램을 한 스텝씩 진행시키는 방법  Step Into (F5 key) : 현재의 명령문이 호출하는 method 속으로 진행하여 그 첫문장을 실행하기 직전에 멈춘다  Step Over (F6 key) : 현재의 명령문을 실행하고 다음 명령문 직 전에 다시 멈춘다  Step Return (F7 key) : 현재의 메소드에서 리턴한 직후에 다시 멈 춘다  Resume (F8 key) : 멈추어 있던 스레드를 계속 실행시킨다. ( 다음 breakpoint 가 있을 때까지 )‏

Step Filter 프로그램을 스택 단위로 진행할 때, 실행 상태를 추적할 필요 가 없는 패키지나 클래스를 그냥 넘어가게 하는 기능  디버깅 중에 Step Into 를 하게 되면 Java 클래스 라이브러리 수 준까지 스텝을 진행하는 점을 해결  Debug View 에서 step with filter 로 설정 (Shift + F5)‏  Preferences 다이얼로그의 JAVA>debug>step Filtering 에서 어떤 클래스나 패키지를 Filtering 할 것인지 설정할 수 있음 Filter synthetic method : 어떤 클래스를 컴파일할때 컴파일러가 임의로 정 의해 바이트코드에 추가한 메소드들을 필터링함 Filter static initializers : 모든 클래스의 정적 초기화 블록과 정적 멤버 초기 화 코드를 필터링 Filter Constructors : 모든 생성자를 필터링함

Appendix : Eclipse Tips JavaDoc  Using JAVA API  Generating User-defined JavaDoc Library Import Import statement Organization : Shift + Ctrl + O Open Declaration : F3 Quick Fix : Ctrl+1 Key Assists : Shift+Ctrl+L