[영상후기] [10분 테코톡] 🍟 웨지의 인텔리제이 디버깅

박철현·2023년 4월 23일
0

영상후기

목록 보기
105/160

movie

  • 디버그모드 : 프로그램이 멈추고 상태를 보여주는 모드(살펴보고 싶은 곳에 브레이크 포인트 -> 디버그 모드)

    • frames : 브레이크포인트가 실행된 자리 까지 어떠한 스택들이 실행되었는지 나타냄

    • Variales : 지역 스코프에 담겨져있는 변수의 정보

    • resume 버튼 : 다음 브레이크 포인트로 넘어감 ":>"모양

    • step over : 다음 줄로 넘어감

    • step into : 해당 줄에서 실행 된 메서드 안으로 한 단계 들어감
      -> 찾고자 하는 흐름을 스택을 쌓으며 점점 안으로 들어갈 수 있음

    • step out : step into의 반대 개념, 실행을 시키고 나옴

    • drop frame : step out과 유사하나, 차이점이 있다면 실행 되지 않고 step out함

    • run to cursor : break point 없어도 커서가 가르키는 부분으로 넘어갈 수 있음

    • evaluate : break point에서의 해당 스코프에서 실행 가능한 메서드를 실행해볼 수 있음
      -> getSize() 등 정의된 메서드 활용
      -> 단 주의해야 할 점은 실제로 메서드가 적용이 됨
      -> add 메서드 등 주의
      -> shift + enter : 2줄 이상 작성할 수 있음

    • watch : 브레이크포인트 걸릴 때마다 evaluate를 미리 지정해둔것을 계속 알려줌
      -> ex) for문에 객체 생성할 때 지정 : user.getName() => 이름 확인 가능

  • for문 사이즈가 커질 경우 step over를 활용하기에 실수할 수도 있음
    ex) 사이즈 63 중 50번쨰 확인 -> 여러번 넘기다 보면 놓칠 수도 있음
    -> 다시 처음부터 확인 필요

  • break point 우클릭 -> 컨디션 설정 가능 -> boolean으로 설정할 수 있음
    -> break point에서 쓸 수 있는 메서드 모두 사용 가능
    ex) user.getName().equals("구구")
    -> break point 빨간점에 "?"가 생김(컨디션이 걸렸음)
    -> 복잡한 for문 또는 while문에 활용 가능

  • 외부 라이브러리가 끼면 브레이크포인트가 외부 라이브러리로 날아감 -> resume 누르면 다음으로 넘어감
    -> 외부 라이브러리로 step over가 된다는 점은 해당 지점을 의심해볼 만 함
    -> watch 활용하여 인자가 잘 들어왔는지 확인
    -> evaluate에 명령어를 작성하여 어디 부분이 에러인지 확인

  • 디버그 모드 중 코드 수정하면 반영 x -> 다시 브레이크포인트 잡고 디버그모드 재실행

profile
비슷한 어려움을 겪는 누군가에게 도움이 되길

0개의 댓글

관련 채용 정보