728x90

 

1.breakpoint 설정

코드 라인수 옆에 좌클릭하면 빨간색 마름모가 생긴다

이 부분이 breakpoint

지정한 breakpoint마다 값이 어떻게 변하는지 또 내부 로직이 어떤 순서로 움직이는지 파악 가능해서 정말 정말 귀중한 기능이다. 앞으로 자주쓰자

 

 

2.디버깅(Debugging) 실행

아래 이미지에서 벌레모양 아이콘을 누르면 된다(단축키 shitf + F9)

 

3.디버깅(Debugging) 과정

첫번째로 실행되는 코드가 main메소드이므로, 메인메소드의 new Mountain()이라는 객체가 호출되는 것을 볼 수 있다.

다음 어디로 넘어갈지 보고 싶다면, F9이나 아래 이미지에 동그라미 친 아이콘을 누르면 된다

 

 

 


 

Evaluate Expression

동그라미 친 계산기 아이콘을 눌르면 아래아래 사진처럼 창이 뜨고 값을 입력할 수 있다

아니면 밑줄 친 Evaluate Expression 회색 글씨에 써도 된다

 

필요한 이유

하나씩 디버깅해서 돌려보고 따로 해 볼 필요없이 저 창을 열면 바로 원하는 값을 알아볼 수 있다!

아주 편리함

Evaluate Expression 창이 뜬 모습

 

728x90
반응형
728x90

 

 

디버깅(Debugging)

어원의 유래

초창기 컴퓨터에는 벌레(bug)가 들어가서 고장이 잘 났었는데,

이때 벌레(bug)를 찾아 치우는 일에서 디버깅(debugging)이라는 말이 유래됬다고함

 

코드가 길고 복잡해지면 머릿 속에서 다 둘러볼 수 없기에 코드의 일정 단계별로 

확인할 수 있도록 하나씩 찾아보게된다

여러 프로그래밍 개발에 유용한 툴들인 vs code, IntelliJ 등에는 모두 디버깅 기능이 있다

 

1.소프트웨어에 문제가 생긴 것을 잡는 것

의도치 않은 상황에 자주 마주치게 되고, 코딩 중 상당한 시간이 디버깅에 할애된다

2. 개발중

배포라는 의미와 대비되서 아직 완성되지 않은 상태의 개발중이라는 의미로도 쓰인다

 


 

컴파일러(Compiler) & 인터프리터(Interpreter)

컴퓨터 언어는 0과 1로 구성되어 있다. 

사람이 0과1로만 ㄱㄴㄷㄹ를 하나씩 다 한다고 상상해보자 정말 헬일 것이다.

쉽게 해석가능하다면 컴퓨터와 친구하자

 

컴퓨터의 언어를 사람이 알 수 있게 

사람의 언어를 컴퓨터가 알 수 있게 또는 그 중간 단계로 변역해주는 작업과정에서

미리 해놓으면 컴파일러

실행할 때마다 통역하면 인터프리터

 

프로그래머들은 이런 특성을 고려해서 자신들이 만들려는 프로그램의 언어를 선택한다

 

컴파일 언어

번역 프로그램인 컴파일러가 사람이 작성한 소스코드를 사전에 번역 해놓는 것

이렇게 미리 컴파일 해놓는 컴퓨터언어들을 컴파일 언어라고 부른다

ex) C,C++ 등

 

인터프리터 언어(=스크립트 언어)

장점 : 코드 수정이 잦은 서비스의 경우 업데이트가 용이

단점 : 컴파일언어에 비해 느리다, 프로그래머가 짠 코드가 그대로 배포되어 사용되기에 코드가 보다 쉽게 노출되기 쉽다

ex) 자바스크립트,파이썬,루비 등

 

 

 

출처

https://www.youtube.com/watch?v=GYmuQJiPeM4

728x90
반응형
728x90

 

JAVA1 - 10. 디버거

 

<용어설명>

버그 bug : 의도치 않은 문제가 발생하는

디버그 debug

디버깅 debugging : 버그를 잡는 행위를 디버깅이라함

디버거 degugger : 디버깅할 사용하는 도구를 디버거

 

디버깅 할려면 프로그램을 멈춰야함

breakpoint : 멈추고 싶은 지정

breakpointer : 브레이크포인트의

 


 

이클립스 코드수 UI 더블클릭으로 생성 & 삭제

디버깅 실행 : 화면 상단 벌레버튼

 

누르고나면 perspective(우측상단) 벌레 아이콘 생기는데 디버깅 하기 좋게 화면이 바뀌는 템플릿 기능 같은

  - 화면 구성이 바뀌면서 어떤 변수의 값이 뭔지 하나하나 체크하기 쉽게 보여줌

 

 

 

좌측 상단에 디버깅할 필요한 커맨드들이고, 우측은 변수명과 값을 직관적으로 보여주는 UI

 

좌측상단 메뉴

step over 다음 줄로 넘어가서 디버깅

step into 해당 메소드가 어떻게 이루어있는지 자세히 있음

step return 스텝인투에서 밖으로 나가고 싶을 사용

terminate 디버깅 종료

 

우측상단 도형모양 누르면 원래 코딩하던 콘솔창으로 되돌아옴

728x90
반응형
728x90

문제

 

<풀이과정>

 

# 디버깅해서 확인하기를 원하는 값의 변수를
# 새 변수를 지정해서 거기에 값으로 넣는 것 포인트
# 디버깅, breakpoint() 함수 기억!
 
 

※breakpoint() 함수

코드가 길거나 변화과정이 복잡하다면 이 방법 사용이 어려움
이럴 때 유용한 함수 : breakpoint()

디버깅을 원하는 지점(print확인처럼)마다 breakpoint()를 써줌
breakpoint() 있는 지점마다 거기까지 코드가 작동하고 멈춘다.
이때 값 확인하고 다음으로 넘어가고 하는 방식

breakpoint() 명령어
p 변수명 : 변수값 확인 ex) p a
c : 다음 브레이크포인트로 이동
escape : breakpoint() 함수 탈출

 

728x90
반응형
728x90

문제

①에서의 a값만 출력하는 프로그램을 작성하시오.

 

<풀이과정>

디버깅(debugging)이란?

컴퓨터 프로그램 개발 단계 중에 발생하는 시스템의 논리적인 오류나
비정상적 연산(버그)을 찾아내고 그 원인을 밝히고 수정하는 작업 과정

 

 

※breakpoint()

풀이3의 breakpoint() 명령어는 아주 유용!

코드가 길어지면 디버깅하는 시간을 획기적으로 줄여줄 수 있는 마법의 명령어

breakpoint() 명령어
p 변수명 : 변수값 확인 ex) p a
c : 다음 브레이크포인트로 이동
escape : breakpoint() 함수 탈출
728x90
반응형

+ Recent posts