Skip to content

Instantly share code, notes, and snippets.

@chitacan
Created November 8, 2012 16:46
Show Gist options
  • Save chitacan/4039992 to your computer and use it in GitHub Desktop.
Save chitacan/4039992 to your computer and use it in GitHub Desktop.
markdown:little cheat sheet for Eclipse IDE.

Eclipse 개발환경 다루기

최종 업데이트 : 2012년 11월 6일

cheat sheet for Eclipse IDE.

이클립스 공통 환경

Perspective

이클립스 윈도우에 보여질 수 있는 뷰들의 집합. 자신만의 뷰 세팅을 저장하는 것도 가능

  • java
  • debug
  • git repo

working sets

여러개의 프로젝트들을 폴더로 관리할 수 있는 기능.

  • package explorer >> 프로젝트 선택 후 우클릭 >> Assign Working Sets… 선택

useful views

window >> show view.

  • Outline

    • 현재 클래스의 멤버들(필드, 메소드, 내부클래스등등)의 정보를 한줄로 표현해 보여준다.
    • 메소드를 찾아다닐때 매우 유용함
    • 클래스가 어느정도 익숙할 경우 Quick Outline 으로 대체가능
  • Type Hierarchy

    • 타입의 상속관계를 찾아다닐 수 있음.
    • Quick Hierarchy로도 확인가능하지만, 이 뷰에서 멤버별로 상속관게를 볼 수 있어서 좀더 유용할 경우가 있음.
  • Call Hierarchy

    • 특정 메소드에 대해 caller hierarchy, callee hierarchy를 확인할 수 있음
    • 메소드에 대한 호출 흐름을 파악하기 좋음
  • Search

    • 일반 문자열 검색 부터, java 메소드 검색등 다양한 검색 지원
    • 검색시 scope를 꼭 확인!!
  • Tasks

    • 소스에 선언된 task tag 들을 보여주는 뷰

    • 미리 정의된 task tag는 다음과 같다.

      설명 | 태그 ----------------- | ------------- high priority | FIXME default priorit | TODO low priority | XXX

    참고로 xxx의 의미는 "약간 애매하게 작성된 코드에 대한 경고" 정도로 이해하면 되겠음

  • Display

    • debug시 현재 break point에서 간단하게 코드를 실행해 볼 수 있는 뷰
    • 실행시점에 변수의 내용을 변경할 수 있으므로 유용
    • 코드를 바로 실행할 수 있는 단축키는 super + shift + i.

안드로이드 전용 환경

ADT 설치 이후에 사용가능한 뷰들

  • Allocation Tracker
    • Devices 에서 선택된 프로세스에 대해, 메모리가 할당된 object를 확인 가능
    • 해당 object가 어떠한 경로로 생성되었는지 stack trace 확인 가능
    • 비정상적으로 할당이 많이 이루어지는 경우 leak을 쉽게 캐치 할 수 있지만, 그런 상황은 쉽게 발생하지 않는다.
  • Heap
    • dalvik heap의 전체 상황을 한눈에 확인 할 수 있는 뷰
    • 여기서 heap의 메모리가 지속적으로 증가한다면 leak의 가능성을 짐작할 수 있음
  • Devices
    • 현재 ADB로 연결된 안드로이드 장비와 해당장비의 프로세스를 보여준다.
    • Thread, Heap Dump, Method Profiling 을 실행할 수 있음
  • Thread
    • Devices 에서 선택된 프로세스의 스레드 리스트를 보여준다.
    • Refresh 버튼을 통해 해당 스레드의 stack trace를 확인할 수 있음
  • Network statistics
    • Devices 에서 선택된 프로세스의 네트워크 사용량을 표시
    • 3g, wifi는 구분해주지 않음
  • Lint
    • 안드로이드에 특화된 Lint 로 프로젝트 전체를 스캔해 버그 발생 가능성이 있는 부분을 리스트 업

Heap Dump

Devices에서 선택된 프로세스의 힙을 덤프해 파일로 저장한다. Eclipse MAT가 설치되어 있을 경우 덤프된 내용을 바로 확인할 수 있다.

  • Shallow Heap : 해당 오브젝트만을 위해 사용되는 메모리의 양(bit)
  • Retain Heap : 이 오브젝트에 의해 유지되는 메모리의 총합(bit)
    • 즉, 이 오브젝트가 gc 될 때 확보될 수 있는 메모리 양
  • 아래의 메소드를 활용해 특정 시점의 힙을 덤프 할 수도 있다.

android.os.Debug.dumpHrofData(String); ```

Method Profiling

Devices에서 선택된 프로세스에 대해 특정 시간동안 어떤 스레드가 메소드를 얼마나 오랫동안 실행했는지 확인 할 수 있음

컬럼 설명
Inclusive 해당 메소드 및 자신이 호출하는 메소드들을 모두 수행하는데 걸린 시간
Exclusive 해당 메소드만을 수행하는데 걸린 시간
Calls 특정 시간동안 메소드가 호출된 횟수
Recur Calls 특정 시간동안 recursive call이 호출된 횟수
Time / Call 1번 호출당 수행시간
Parents caller
Children callee
  • 아래의 두 메소드를 활용해 정확한 프로파일링의 시작과 끝 지점을 코드상에서 정할 수 있다.

android.os.Debug.startMethodTracing(String); android.os.Debug.stopMethodTracing(String); ```


플러그인들

Codepro Analytix

설치 : add this link to Install New Software…

  • 정적 + 동적 분석 제공
  • 자바 프로젝트의 품질을 측정할 수 있는 여러가지 지표들을 제공해 주는 플러그인

Audit

  • 프로젝트에 대해 미리 정의된 Audit Rule을 위반하는 항목들을 리스트업

Metrics

  • 품질과 관련된 각종 지표(라인수, 복잡도, 추상화 정도)를 출력
  • 기준 지표를 정해놓고 해당 지표를 달성하지 못한 클래스, 패키지를 표시 할 수 있는 기능

Stan4j

설치 : Stan4j

  • 정적분석 제공
  • 자바 클래스, 패키지간의 구조분석, 품질 지표등을 출력할 수 있는 플러그인
  • stan alone 버전 있음
  • 무료버전에서는 분석 클래스 갯수가 500개로 제한되어 있음

Composition View

선택된 패키지, 클래스등의 내부 멤버들의 디펜던시를 보여주는 뷰(메소드, 멤버단위까지 확인 가능)

Couplings View

선택된 패키지, 클래스의 외부 디펜던시를 보여주는 뷰

Android Source Plugin

설치 : add this link to Install New Software…

  • android.jar를 실제 소스와 연결시켜주는 플러그인

지원 API Level

  • 14 - Android 4.0.1
  • 10 - Android 2.3.4
  • 9 - Android 2.3
  • 8 - Android 2.2
  • 7 - Android 2.1
  • 6 - Android 2.0.1
  • 4 - Android 1.6
  • 3 - Android 1.5

Shortcuts

설명 키 (윈도우)
Quick Access super + 3
Quick Outline super + O
Quick Hierarchy super + T
리소스 열기 super + shift + R
타입 열기 super + shift + T
레퍼런스 찾기(전체) super + shift + G
레퍼런스 찾기(파일) super + shift + U
전체 검색 super + H
call by super + shift + H
rename super + option + R (alt + shift + R)
Key Assist super + shift + L
go to error line super + .
Focus to Editor F12

See Also

Android DevelopersDeveloper Tools 페이지

adb, systrace, Tracer for OpenGL ES 등의 툴들에 대한 추가 정보가!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment