JAVA1

디버거

강의소개

입문자일수록 개념을 적게, 도구는 많이 사용해야 합니다. 중급으로 나아갈수록 지식의 양이 기하급수적으로 늘어납니다. 이때 스스로 모르는 것을 찾아내기 위해서는 도구가 필요합니다. 정말 유용한 도구인 디버거를 소개합니다. 

 

 

 

강의

댓글

댓글 본문
  1. buffybuff
    debug의 여러기능을 세세하게 설명해주시다니 대단해요
  2. 다미
    디버깅이 코딩할 때 굉장히 유용하고 편리한 기능인 줄은 알았지만
    어떻게 시작해야 되는지 감이 안와서 시도조차 못해봤는데
    강의에서 우연히 디버깅 쓰는 법을 배워서 넘나 기뻐요
    감사합니당 !

    
  3. 선대범
    디버거 ... 햄버거 먹고 싶
    버그를 잡을 수 있는 도구
  4. 선대범
    문제를 규정할 수 있고 좋은도구로 그 문제를 해결한다면 당신도 중급자
  5. 디버거

    중급자는 문제의 원인을 잘 파악하고 도구를 사용

    초급자는 문제의 원인을 잘 파악하지 못함에도 불구하고 도구 사용x

    디버거: 문제 해결을 도와주는 도구

    break point: 멈출 곳에서 더블클릭

    상태바에서 벌레 모양 클릭 -> f5(step into, 메소드 확인), f6(step out) 눌러 진행

    resum(재생버튼): 다음 브레이크 포인트까지 한 번에 실행(한 번 더찍어놓아야 함)

    정지 버튼 눌러 terminate
  6. 영철이
    프로그래밍은 자동화를 위한 열쇠이다.

    초급자와 중급자의 차이

    중급자는 문제의 원인을 잘 파악한다.
    좋은 도구를 사용한다.

    초급자는 문제의 원인을 잘 파악못한다.
    그럼에도 좋은 도구를 사용하지 않는다.

    문제가 있거나 분석하고 싶을 때 디버거를 이용할 수 있다.
    프로그램이 실행하는것을 멈추고 싶은 곳에 더블클릭하면 브레이크 포인터가 생긴다.
    플레이 모양 옆의 벌레모양을 눌러 디버그 실행한다.

    step over 한 줄씩 실행한다.
    resume 다음 브레이크 포인트까지 한번에 실행할 수 있다.
    step into 메소드를 확인한다.
  7. dofvmrhwk
    Toggle Breakpoint을 하고 디버그하니 잘 되네요 ㅎㅎ
    2020년 4월 2일
  8. 박수찬
    스스로 모르는 것을 찾아내기 위해서 도구 디버거가 필요하다.
    프로그램을 실행되는 것을 일단 멈추는 것 줄번호 앞에 더블클릭함 그러면 breakpointer가 생성됨
    플레이 모양 옆에 벌레 모양누름 디버그 시작
    Step over 한 줄씩 실행가능
    브레이크포인트 설정하고 플레이 누르면 그 줄까지 실행됨
    step into 메소드 열람가능
  9. 눈누난나
    완료
  10. 브라이언
    잘봤습니다. 감사합니다.
  11. 디버킹 아이콘설명
    Debug (벌레모양) : 디버그를 시작한다.
    >>디버그 관점으로 바꿀건지 물어보고 Switch 클릭하면 디버그창으로 바뀐다.
    Step into(F5) : 해당 메소드에 들어가서 확인한다.
    Step over(F6) : 한 줄씩 이동한다.
    Step Return(F7) : 메소드에서 빠져나와 다시 디버깅 파일로 돌아간다.
    Resume (F8) : breakpoint까지 디버깅한다.
    Terminate (Ctrl+F2) : 디버깅을 중지한다.
    >>오른쪽 위 perspective에서 J모양 아이콘을 클릭한다.

    perspective : 벌레모양은 디버깅하기 편한 관점, J아이콘은 코딩하기 편한 관점
  12. 문병민
    2020.03.13 완료

    아이콘 역할 정리
    - 초록 재생 버튼 : breakpoint 까지 디버깅 시작
    - 빨간 버튼 : 디버깅 종료
    - Step Into : 해당 코드의 메소드를 확인할 수 있음
    - Step Over : 명령문을 한 줄씩 실행시킨다.
    - Debug: debug perspective로 전환
    - Java: 코딩을 하는 Perspective로 돌아간다.
  13. 정찰스
    아이콘 간단..?설명
    * Resume(초록 재생 버튼) 디버거를 시작한다. 단, Breakpoint가 있으면 지정된 Breakpoint까지만 실행한다.
    * Terminate(빨강 정지 버튼) 디버거를 끝낸다.
    * Step into 해당 코드의 메소드가 어떻게 되어 있는지 열람한다.
    * Step Over 한 명령어씩 디버깅을 한다.
    * Debug (벌레 모양) 디버깅 Perspective를 연다.
    * Java (J가 있는 아이콘) 다시 Java 환경에서 코딩을 하는 Perspective로 돌아간다.
  14. 2020.03.10 완료
  15. 완료
  16. cmg8431
    2020.03.09 완료
  17. dudwn7504
    디버깅 하려는데 에러가 뜹니다.
    FATAL ERROR in native method: processing of -javaagent failed, appending to system class path failed
    Unexpected error (103) returned by AddToSystemClassLoaderSearch
    Unable to add C:\Users\정영주\Desktop\eclipse-java-2019-12-R-win32-x86_64\eclipse\configuration\org.eclipse.osgi\228\0\.cp\lib\javaagent-shaded.jar to system class path - the system class loader does not define the appendToClassPathForInstrumentation method or the method failed
    이라고 뜨네요. 이거 어떻게 해결하는지 알려주세요~
  18. 자바를자바라
    2020-03-04
    Debugging
  19. 양갱
    설치도 겨우 했는데 오류나서 미치는 줄 알았는데, 경로에 한글이 있어서 오류가 뜨는 거였네요.
    감자칩님 댓글보고 바로 해결했습니다! 감사합니다 ㅠ ㅠ
  20. 싹난감자칩
    Unexpected error (103) returned by AddToSystemClassLoaderSearch
    Unable to add C:\Users\승환\Downloads\eclipse-java-2019-12-R-win32-x86_64\eclipse\configuration\org.eclipse.osgi\228\0\.cp\lib\javaagent-shaded.jar to system class path - the system class loader does not define the appendToClassPathForInstrumentation method or the method failed

    이런 오류 뜨신분들 eclipse-java-2019-12-R-win32-x86_64 이클립스 실행 파일 들어있는 폴더 경로에 한글 들어간 부분이 있으면 뜨는 것 같아요. 정확한 원리는 모르겠는데 경로상에 한글을 다 없애니까 정상적으로 디버깅 되네요. 오류뜨신 분들 해결되시면 좋겠습니다.
  21. 동그리
    Resume: 브레이크 포인트 까지 디버깅 실행
    Terminate: 디버깅 종료
    Step into: 메소드로 이동?
    Step over: 명령문을 한줄씩 실행시킴
    Step return: 메소드로 빠져나와 다시 디버깅중이던 파일로 이동
    Debug: 디버그. 이 버튼 누르면 debug perspective 로 전환가능.

    JAVA Perspective: 코드 작성 및 작업하기 좋은 화면으로 전환
    Debug Perspective: 디버깅하기 좋은 화면으로 전환
  22. 베이비유저<baby user>
    그냥 이클립스 다시 설치해보니 ehody
  23. ,jeon 님! 저는 해결이 되었는데,이게 맞는 방법인지는 모르겠으나 저는 이클립스랑 자바를 아예 강의 처음부터 다시 따라하면서 재설치를 했는데 자바는11버전으로 설치를 했고 이클립스는
    C:\Users\(컴퓨터이름) 폴더안에 eclipse-workspace 라는 이클립스 데이터파일까지 싹다 완전삭제를 한뒤
    재설치 했습니다...이렇게 하고 강의보면서 처음부터 다시 했더니 드디어 디버거 기능 이용할 수 있었습니다ㅠㅠ 정말 진짜 한 3일동안 구글링하면서 이것저것 찾아보고 페북도 비활성화 시킨지 5년만에 풀어서 이고잉님 페이지가서 조언도 구해보고 했는데도 해결 못했엇어요ㅠㅠ

    아마 재생각에는 처음강의를 볼때 제가 딴생각을 했거나 한눈파는 사이에 중간에 놓친게 있는것 같다는 생각이 드네요..ㅋㅋㅋ 무튼 해결되시면 좋겠습니다~
    대화보기
    • Unexpected error (103) returned by AddToSystemClassLoaderSearch
      Unable to add C:\Users\승환\Downloads\eclipse-java-2019-12-R-win32-x86_64\eclipse\configuration\org.eclipse.osgi\228\0\.cp\lib\javaagent-shaded.jar to system class path - the system class loader does not define the appendToClassPathForInstrumentation method or the method failed
      FATAL ERROR in native method: processing of -javaagent failed, appending to system class path failed
      저도 D3NIM님이랑 같은 에러인거같은데요.. 디버거만 누르면 저런 오류뜨면서 안됩니다
    • FATAL ERROR in native method: processing of -javaagent failed, appending to system class path failed
      Unexpected error (103) returned by AddToSystemClassLoaderSearch
      Unable to add D:\�䷻Ʈ\eclipse-jee-2019-12-R-win32-x86_64\eclipse\configuration\org.eclipse.osgi\411\0\.cp\lib\javaagent-shaded.jar to system class path - the system class loader does not define the appendToClassPathForInstrumentation method or the method faile

      방금 환경변수?설정하라고 해서 했는데도 저러네요..도와주세요ㅠㅠ

      이런에러가뜨는데 이건...왜그러죠..브레이크포인트까지만되고 디버그 누르면 저런에러가 뜨네요..
    • 완료! 얼른 객체 관해서도 듣고 싶어요 ㅠㅠ
    • 뉸찡
      2020.01.29 완료!
    • 임지수
      2020.01.26 완료
    • corban7784
      디버거 완료

      console에 찍히는 이유


      stepinto를 누르면
      메쏘드를 볼 수가 있다..

      stepreturn
      이전 작업으로 갈 수 있다
    • 가즈아
      디버그 버튼 클릭 이후에 step over 버튼 클릭이 안되게 되어있어요. 디버그창에 <terminated,exit value:0>.라는 메세지가 뜹니다
    • 라또마니
      완료. 감사합니다.
    • 취생아
      완료 2020.01.13

      use step filters의 기능은 무엇일까요?ㅜㅜ
    • 소금설탕
      완료. 고맙습니다.
    • 윌리엄
      Toggle Breakpoint를 하지 않고 디버깅 시키면 그렇게 되네요. 코드 옆을 더블클릭 하시거나, 마우스 오른쪽 클릭해서 Toggle Breakpoint 클릭하시고 디버깅 시켜보세요.
      대화보기
      • 정훈
        Debug ok
        Step into
        Step over
        step return
      • Analysis
        저도 이렇게 뜨는데 궁금합니다
        대화보기
        • 제넷
          원하는 값이 나오지 않을 때, 항상 중간에 print 문을 넣어서 값을 확인하곤 했는데
          그럴 필요 없었군요..ㅎㅎ 정말 좋은기능이네요! 감사합니다
        • Resume: Breakpoint로 지정한 부분까지 실행 또는 나머지 실행
          Terminate: Debugging 중지
          Step into: Debugging 중인 Source에 대한 메소드
          Step over: Breakpoint부터 한줄씩 실행
          Step Return: 메소드에서 나가기
          Debug: Debugging실행
          Java: source code 짜기 쉽게 전환
          Debug: Debugging를 보기 쉽게 전환
        • 쑤우
          수강완료. 감사합니다~
        • 엔지니어
          재생버튼 : 지정된 부분 실행

          정지 버튼 : 모든 작업 종료

          Step Into : 메소드 진입

          Step Over : 다음 줄 실행

          Step Return : 메소드에서 나가기

          Java : java 파일 perspective

          Debug : 디버깅 perspective.
        • 햄쮸맨
          근데 스탭필터는 뭐하는 녀석일까요..?토글 상태로 만들어도 무슨 일이 벌어지는지 관찰이 안되네요.
        • 햄쮸맨
          Terminate=>디버깅을 멈춘다
          Step Into=>말 그대로 해당 행의 코드(메소드)에 들어가서 담긴 정보를 창으로 띄워서 보여준다
          Step Over=>다음 줄로 디버그를 실행한다.
          Step Return=>Step Into 를 눌렀을 경우에만 활성화 되며 Step Into를 누르기 전 창으로 돌아가준다.
          Debug=>디버그 모드로 돌입한다
          Perspective(관점?시점.)=>각각의 Perspective에는 현재 하는 작업을 관찰하기 유용한 탬플릿(틀,모양자를 생각하면 편하다.)이 담겨있다.
        • 청수공장
          디버그를 쓰게되면 프로그래밍을 테스트 할 때 일일이 주석기호를 넣지 않아도 되는군요..T_T
        • egoing
          그럴 때는 다시 Step out해서 밖으로 나오시면 됩니다. 단축키는 F7입니다.
          대화보기
          • ㅎㅎ
            완전히 막혔습니다 ㅠㅠ 디버깅하는데 BreakPoint만든 후 처음 버튼 눌렀을 때는 이고잉님이랑 같게 뜨는데 한 번 더 누르면 엘리베이터 값이 어쩌고.. 거기서부터 왜 저만 1993번줄로 넘어가있는거죠 ㅠㅠ;;; 돌이키는방법도 모르겠고 완전 막히네요
          • LiberSpiritus
            Resume (F8) => 마우스로 더블클릭한 영역(Breakpoint)으로 이동 하여 디버깅 한다
            Terminate (Ctrl+F2) => 디버깅을 멈춘다.
            Step Info (F5) => 해당 코드의 정보를 본다 ex) 메소드안에 어떤 내용이있는지 볼수 있다.
            Step Over (F6) => 코드 한줄씩만 이동하여 디버깅한다
            Step Return (F7) => Step Info를 통해 코드의 정보를 보기 전의 상태로 되돌린다.
            #단축키를 사용하면 좀더 편하다. 익숙해지기 전에는 클릭해보는걸 추천

            (Suspend와 Disconntect는 어떤 기능인지 궁금하고, Step Over의 반대 기능도 있는지 궁금하네요)

            맨 우측에 있는 메뉴 설명
            Perspective : 템플릿이라 이해하면 쉽다. 내가 작업하기 편한 형태로 변화시켜준다는 뜻
            - Java(J라는 글씨가 있음) : 자바 언어 코딩할때 편한 형태로 변환
            - Debug(벌레모양) : 디버깅하기 편한 형태로 변환

            #디버깅하기 위해선 영상 3:47에 나와있는 설명대로 Run 왼쪽에 있는
            Debug(벌레모양)을 클릭한다
          • 디버깅시에
            JRE Oracle Corporation/13 is not supported, advanced source lookup disabled.
            이렇게 뜨는 것은 말그대로 아직 eclipse 가 java 13을 지원하지 않아서 인가요??
          • Rookie
            주말에도..
          • 졍이
            잘보고갑니다 ㅎㅎ
          • Lifie9
            디버거 사용법이 뭔지도 모르고 항상 코딩 했는데
            중요한거 하나 배워갑니다.
          버전 관리
          egoing
          현재 버전
          선택 버전
          graphittie 자세히 보기