Hello

2019.09.03 본문

try

2019.09.03

nari0_0 2019. 9. 3. 06:46
728x90

eclipse는 내장 디버그가 이미 포함되어 있습니다. 오늘은 디버그의 실행 방법에 대해 공부해 보려고 합니다.

project를 작성하고 실행을 debug모드로 실행을 하게 되면 간단하게 사용할 수 있습니다.

 

디버그 프록시를 실행하여 브레이크 포인트를 설정하고 현재 스택의 메소드 위치나 변수 값을 가져 오거나 확인할 수 있습니다.

 

eclipse에서 디버그 모드를 실행하면 디버그 화면(퍼스펙티브)로 전환된다.

전환 하지 않고 EE창에서도 사용할 수 있으나 valiableview, breakpoints, expressions 디버깅 관련 정보들의 창을 지원해 보다쉽게 확인할 수 있습니다.

 

valiableview

현재 스택 프레임에 있는 변수들을 보여주는 창

해당 창을 통해 변수의 값을 수정하면 이후의 동작에서 바뀐 값으로 로직을 실행 하도록 할 수 있습니다.

 

브레이크 포인트

확인하고 싶은 특정 라인에 포인트를 찍어 디버그 모드 실행시 해당 라인 시점의 변수, 상태를 확인할 수 있습니다.

 - 단축키 : ctrl + shift + b

 

expressionview

변수나 메소드의 실행 결과 값을 확인하고 싶을 때 등록해 확인 할 수 있고 지우지 않으면 debug를 진행하면서 등록된 값이 변하든 변하지 않든 계속 확인할 수 있다.

 

displayview

메모장과 같은 화면을 지원하며 debug걸린 라인에서 원본 코드를 수정하지 않고 displayview에 로직을 추가해 상황을 변경시킬 수 있는 기능을 지원합니다.

 

inspect

메서드를 실행하고 리턴되는 객체를 트리 형태로 된 값을 확인 할 수 있습니다.

- 단축키 : ctrl + shift + i

 

 

java application을 Debug모드로 실행 하게되면 위와 같은 창을 확인 할 수 있습니다.

JVM의 Stack Area에 있는 Thread가 한개 혹은 여러개 존재할 수 있습니다.

Thread내부는 단일 스레드로 호출된stack이 보여지며 이곳에 맴버변수의 값이 같이 존재하여 valiable view를 통해 값을 확인 할 수 있습니다.

다른 Thread의 메소드에 접근하기 위해서는 해당 Thread를 통해서 접근이 가능합니다.

전역 변수는 heap area에 존재하기 때문에 모든 Thread가 접근이 가능합니다. 그래서 함부로 전역변수를 수정하면 안됩니다.

728x90

'try' 카테고리의 다른 글

Java Generic  (0) 2019.09.18
객체와 객체지향 프로그래밍  (0) 2019.09.10
2019.09.01  (0) 2019.09.01
2019.08.12  (0) 2019.08.12
2019.08.12  (0) 2019.08.12