1 / 18

Debugging in the Eclipse

발표자 : 정영권 stseira@nate.com ANU NGN Lab. Debugging in the Eclipse. 목차. Eclipse 에 대한 소개 Eclipse Architecture Eclipse Perspective Eclipse Debugging View Step 단위 진행 Step Filtering Eclipse Tips. Eclipse. Open-source 개발 Platform 원래 IBM 에서 개발하던 개발 Platform JAVA 로 작성되어 개발되었음

Download Presentation

Debugging in the Eclipse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 발표자 : 정영권 stseira@nate.com ANU NGN Lab Debugging in the Eclipse

  2. pass218@nate.com 목차 • Eclipse 에 대한 소개 • Eclipse Architecture • Eclipse Perspective • Eclipse Debugging • View • Step 단위 진행 • Step Filtering • Eclipse Tips

  3. 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 도 참여하고 있음

  4. Eclipse Architecture

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

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

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

  8. Debug Perspective

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

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

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

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

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

  14. Display View

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

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

  17. 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 : 모든 생성자를 필터링함

  18. pass218@nate.com 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

More Related