SlideShare a Scribd company logo
1 of 30
Download to read offline
How to use Debugger
20132452 정주홍
Debugger?
• 디버깅을 쉽게 할 수 있도록 도와주는 툴
• 괜찮은 IDE에는 기본적으로 탑재되어 있음
• CUI 기반으로 console에서 개발할 때는 gdb 사용
• 기본적인 기능은 비슷함
Debugger?
• 기본적으로 제공되는 기능
• Break Point
• Step Into
• Step Over
• Step Return
Debugger?
• 기본적으로 제공되는 기능
• Break Point : 중단점 설정(해당 지점까지 진행 가능)
• Step Into : 함수 안으로 진입
• Step Over : 한 줄 실행
• Step Return : 함수를 빠져나올 때까지 진행
일단 직접 봅시다
화살표가 다음 

라인으로 이동
값 변경
여기서 Step Into(F11)를 하면?
printf 함수 내부로 이동
너무 큰 함수라서 F10으로 넘기기도 힘듦
해결방법
1. 이럴 땐 Step Return으로 함수 빠져나오기를 실행
2. 함수 호출한 곳으로 돌아가서 다음 줄에 브레이크 포인트
호출 스택(스택 프레임)에서 함수를 선택하여
호출한 곳으로 돌아갈 수 있음
값 확인
값 확인
값 변경
값 변경
Break Point Condition
Break Point Condition
Break Point Condition
이런 방식은 코드 변경이 불가피함
Break Point Condition
Break Point Condition
Break Point Condition
Break Point Condition
Break Point Condition
Break Point Condition
Break Point Condition
Break Point Condition
Reference
• http://spoqa.github.io/2012/03/05/eclipse-
debugger.html
• http://www.gamedevforever.com/282
• 내 머리

More Related Content

Similar to 디버거 소개

Android studio 디버거 조금 더 잘 쓰기
Android studio 디버거 조금 더 잘 쓰기Android studio 디버거 조금 더 잘 쓰기
Android studio 디버거 조금 더 잘 쓰기Sewon Ann
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainNAVER Engineering
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법선협 이
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018Kenneth Ceyer
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.Ryan Park
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향Eunhyang Kim
 
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅Kiyoung Moon
 
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Youngbin Han
 
[Osxdev]4.swift
[Osxdev]4.swift[Osxdev]4.swift
[Osxdev]4.swiftNAVER D2
 
Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Joonsung Lee
 
프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들Lee Geonhee
 
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅Youngmin Koo
 
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기Jinkyoung Kim
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기Chris Ohk
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3Wooseok Seo
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debuggingJongwon Han
 
programming with GDB
programming with GDBprogramming with GDB
programming with GDBNakCheon Jung
 

Similar to 디버거 소개 (20)

Android studio 디버거 조금 더 잘 쓰기
Android studio 디버거 조금 더 잘 쓰기Android studio 디버거 조금 더 잘 쓰기
Android studio 디버거 조금 더 잘 쓰기
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
 
Open Jig Ware
Open Jig WareOpen Jig Ware
Open Jig Ware
 
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
우아하게 준비하는 테스트와 리팩토링 - PyCon Korea 2018
 
Advanced git
Advanced gitAdvanced git
Advanced git
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향
 
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
 
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기
 
[Osxdev]4.swift
[Osxdev]4.swift[Osxdev]4.swift
[Osxdev]4.swift
 
Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기Go로 새 프로젝트 시작하기
Go로 새 프로젝트 시작하기
 
프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들
 
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
 
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
 
Vim 강의
Vim 강의Vim 강의
Vim 강의
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
 
Windows Debugging Technique #3
Windows Debugging Technique #3Windows Debugging Technique #3
Windows Debugging Technique #3
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
programming with GDB
programming with GDBprogramming with GDB
programming with GDB
 

More from JuHong Jeong

Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기
Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기
Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기JuHong Jeong
 
devon2013_cocostudio
devon2013_cocostudiodevon2013_cocostudio
devon2013_cocostudioJuHong Jeong
 
Youthvoice 2 - my project’s weakness
Youthvoice 2 - my project’s weaknessYouthvoice 2 - my project’s weakness
Youthvoice 2 - my project’s weaknessJuHong Jeong
 
Youthvoice rpgmaker
Youthvoice   rpgmakerYouthvoice   rpgmaker
Youthvoice rpgmakerJuHong Jeong
 
Liberal arts and technology
Liberal arts and technologyLiberal arts and technology
Liberal arts and technologyJuHong Jeong
 

More from JuHong Jeong (6)

Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기
Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기
Hello World 천안아산 발표자료 - 학생 개발자로 학생을 뛰어넘기
 
devon2013_cocostudio
devon2013_cocostudiodevon2013_cocostudio
devon2013_cocostudio
 
Youthvoice 2 - my project’s weakness
Youthvoice 2 - my project’s weaknessYouthvoice 2 - my project’s weakness
Youthvoice 2 - my project’s weakness
 
Youthvoice rpgmaker
Youthvoice   rpgmakerYouthvoice   rpgmaker
Youthvoice rpgmaker
 
Liberal arts and technology
Liberal arts and technologyLiberal arts and technology
Liberal arts and technology
 
Gamelogic
GamelogicGamelogic
Gamelogic
 

디버거 소개