최종 업데이트 : 2012년 11월 6일
cheat sheet for Eclipse IDE.
이클립스 윈도우에 보여질 수 있는 뷰들의 집합. 자신만의 뷰 세팅을 저장하는 것도 가능
- java
- debug
- git repo
여러개의 프로젝트들을 폴더로 관리할 수 있는 기능.
package explorer
>> 프로젝트 선택 후 우클릭 >>Assign Working Sets…
선택
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
로 프로젝트 전체를 스캔해 버그 발생 가능성이 있는 부분을 리스트 업
- 안드로이드에 특화된
Devices
에서 선택된 프로세스의 힙을 덤프해 파일로 저장한다. Eclipse MAT
가 설치되어 있을 경우 덤프된 내용을 바로 확인할 수 있다.
- Shallow Heap : 해당 오브젝트만을 위해 사용되는 메모리의 양(bit)
- Retain Heap : 이 오브젝트에 의해 유지되는 메모리의 총합(bit)
- 즉, 이 오브젝트가 gc 될 때 확보될 수 있는 메모리 양
- 아래의 메소드를 활용해 특정 시점의 힙을 덤프 할 수도 있다.
android.os.Debug.dumpHrofData(String); ```
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); ```
설치 : add this link to Install New Software…
- 정적 + 동적 분석 제공
- 자바 프로젝트의 품질을 측정할 수 있는 여러가지 지표들을 제공해 주는 플러그인
- 프로젝트에 대해 미리 정의된
Audit Rule
을 위반하는 항목들을 리스트업
- 품질과 관련된 각종 지표(라인수, 복잡도, 추상화 정도)를 출력
- 기준 지표를 정해놓고 해당 지표를 달성하지 못한 클래스, 패키지를 표시 할 수 있는 기능
설치 : Stan4j
- 정적분석 제공
- 자바 클래스, 패키지간의 구조분석, 품질 지표등을 출력할 수 있는 플러그인
- stan alone 버전 있음
- 무료버전에서는 분석 클래스 갯수가 500개로 제한되어 있음
선택된 패키지, 클래스등의 내부 멤버들의 디펜던시를 보여주는 뷰(메소드, 멤버단위까지 확인 가능)
선택된 패키지, 클래스의 외부 디펜던시를 보여주는 뷰
설치 : add this link to Install New Software…
android.jar
를 실제 소스와 연결시켜주는 플러그인
- 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
설명 | 키 (윈도우) |
---|---|
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 |
Android Developers
의 Developer Tools 페이지
adb
, systrace
, Tracer for OpenGL ES
등의 툴들에 대한 추가 정보가!!