티스토리 뷰
728x90
반응형
이클립스에서 디버그 하는 방법
1. 브레이크포인트 설정
브레이크포인트(Breakpoint)는 디버깅 중 프로그램의 실행을 일시적으로 멈추게 하는 지점.
- 소스 코드를 열고, 원하는 줄의 번호 왼쪽 여백을 더블 클릭. 그러면 파란색 점이 나타나며, 이 점이 브레이크포인트.
- 또는, 해당 줄을 선택한 후 마우스 오른쪽 버튼을 클릭하고 "Toggle Breakpoint"를 선택할 수도 있다
2. 디버그 모드로 실행
- 메인 클래스 실행: 메인 메서드가 있는 클래스를 열고, 상단의 실행 아이콘 옆에 있는 작은 벌레 모양 아이콘(디버그 아이콘)을 클릭.
- 메인 클래스 선택: 만약 디버깅할 클래스를 명시적으로 선택하고 싶다면, 프로젝트 탐색기(Project Explorer)에서 해당 클래스를 마우스 오른쪽 버튼으로 클릭하고 "Debug As" -> "Java Application"을 선택.
3. 디버그 뷰 이해하기
디버그 모드로 실행하면 이클립스는 자동으로 디버그 퍼스펙티브(Debug Perspective)로 전환된다. 여기서는 다음과 같은 주요 뷰(View)를 사용하게 된다.
- 디버그(Debug) 뷰: 현재 디버깅 중인 스레드와 스택 프레임(Stack Frame)을 보여준다.
- 변수(Variables) 뷰: 현재 스택 프레임에서 사용 가능한 변수와 그 값을 보여준다.
- 브레이크포인트(Breakpoints) 뷰: 설정된 모든 브레이크포인트를 보여준다.
- 콘솔(Console) 뷰: 프로그램의 출력 내용을 보여준다.
4. 디버깅 제어
- 재개(Resume): 프로그램을 다음 브레이크포인트까지 계속 실행. (단축키: F8)
- 단계별 실행(Step Into): 메서드 호출로 들어가서 한 줄씩 실행. (단축키: F5)
- 단계적 건너뛰기(Step Over): 메서드 호출을 한 줄로 건너뜀. (단축키: F6)
- 단계적 반환(Step Return): 현재 메서드를 모두 실행하고 호출 지점으로 돌아감. (단축키: F7)
- 종료(Terminate): 디버깅을 중단하고 프로그램을 종료. (단축키: Ctrl + F2)
5. 표현식 평가 및 감시
- 표현식(Evaluate): 실행 중인 코드에서 특정 표현식의 값을 평가할 수 있다. 디버그 뷰에서 "Expressions" 뷰를 열고, 마우스 오른쪽 버튼을 클릭하여 "Add Watch Expression"을 선택.
위의 그림처럼 특정변수의 값을 확인하거나 수식사용가능
- 실행 중인 변수 변경: 변수를 변경하고 싶다면 "Variables" 뷰에서 해당 변수를 선택하고, 값을 변경할 수 있다.
6. 조건부 브레이크포인트
- 조건부 브레이크포인트를 사용하면 특정 조건이 참일 때만 프로그램을 멈출 수 있다. 브레이크포인트를 마우스 오른쪽 버튼으로 클릭하고 "Breakpoint Properties"를 선택한 후 조건을 설정.
조건부 브레이크포인트 사용방법
- 브레이크포인트 설정: 소스 코드에서 중단점(브레이크포인트)을 설정한다. 이는 일반적으로 코드 왼쪽 여백을 클릭하여 설정하거나, 코드 라인에 마우스를 가져다 대고 Ctrl+Shift+B (Windows/Linux) 또는 Cmd+Shift+B (Mac) 단축키를 눌러 설정할 수 있다.
- 브레이크포인트 속성 열기: 설정한 브레이크포인트에 마우스 오른쪽 버튼을 클릭하고 "Breakpoint Properties"를 선택한다. 또는 해당 브레이크포인트를 더블 클릭하여 속성 창을 열 수도 있다.
- 조건 설정: 속성 창에서 "Conditional" 옵션을 활성화하고, 여기에 조건을 입력한다. 조건은 일반적인 Java의 조건식을 사용하여 작성할 수 있다. 예를 들어, 변수 count가 특정 값 이상일 때 중단하려면 count >= 100과 같이 입력.
- 조건 적용 및 확인: 조건을 입력한 후에는 속성 창을 닫는다. 이제 설정한 조건이 참일 때만 해당 브레이크포인트에서 프로그램이 중단.
7번라인에 브레이크포인트를 걸었지만 Conditional에 입력한 조건이 거짓이기 때문에 멈추지 않고 지나감
728x90
반응형
'프로그램사전세팅' 카테고리의 다른 글
Tomcat에서 URIEncoding 설정으로 한글 문제 해결하기 (0) | 2024.07.30 |
---|---|
SQL 모드 설정 변경(GROUP BY부분) (0) | 2024.07.24 |
이클립스 설치&세팅 (0) | 2024.07.11 |
기존 java초기화 및 windows환경변수 설정 (0) | 2024.07.11 |
이클립스사전세팅(html을 톰캣없이 실행) (0) | 2024.07.11 |
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 객체 지향 프로그래맹의 특징(캡슐화|상속|다형성)
- 배열(Array)
- 가변 길이 매개변수와 리턴
- javascript자료형
- resultsetimpl
- cte ( common table expression )
- jdbc
- 조건문
- 반복문
- 참조타입vs기본타입
- 데이터변환함수
- Java
- 클래스의 구성 멤버
- 호이스팅(hoisting)
- http 프로토콜:get vs post
- 오버로딩vs오버라이딩
- 테이터베이스 설계
- stored program
- 필드 초기화와 사용
- get한글인코딩
- 제어흐름함수
- 변수표기법
- 함수범위vs블록범위
- 뷰(view)
- jsp의 주요 태그
- 문자열비교메서드
- 데이터베이스(mysql)
- JavaScript
- let-const-var
- ㅎgroupbyvs윈도우함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함