DDD 사용법


A.    정의

Display Data Debugger로 다른 디버거보다 사용하는데 편리한 인터페이스를 제공하고, 디버깅에 필요한 환경을 손쉽게 설정할 수 있다. 기본적으로 gdb를 기반으로 하여 인터페이스만을 제공한다.

 

B.    설치

Ubuntu : $ sudo apt-get install ddd

 

C.    실행

$ ddd

$ ddd <program>

$ ddd <program> core

“core”라는 파일은 프로그램의 실행 중에 문제가 있을 때마다 생성되는 파일로 프로그램에 대한 많은 정보를 담고 있다. 만약 시스템이 코어덤프를 만들지 않는다면 코어에 관련된 환경 변수를 확인하면 된다.

$ ddd <program> <process_id>

       process_id는 프로그램이 실행되고 있는 중간에도 디버깅을 할 수 있게 해준다.

 

D.    DDD창 설명

 

-       소스창 : 브레이크 포인트 설정, 자료구조 선택 등에 사용

-       명령창 : ddd 명령어 집합을 나타내며, 사용자는 이를 통해 명령을 내림

-       gdb 콘솔 : gdb에게 직접 명령을 내리거나 ddd에서 print 명령에 대한 결과 출력시 사용

 

E.     명령어

-       Interrupt : 프로그램 강제 종료

-       Step : 프로그램을 한 행씩 수행, 함수 호출을 만나게 되면 함수 내부로 들어감

-       Next : 프로그램을 한 행씩 수행, 함수 호출을 만나면 함수 내부로 들어가지 않음

-       Stepi : 어셈블리 레벨에서 명령어 하나씩 수행, Step과 같이 함수 호출을 만나면 함수 내부로 들어감

-       Nexti : 어셈블리 레벨에서 명령어 하나씩 수행, Next와 같이 함수 호출을 만나면 함수 내부로 들어가지 않음

-       Until : 반복문을 벗어남

-       Finish : 함수를 벗어남

-       Cont : 다음 브레이크 포인트를 만날 때까지 계속 수행

-       Kill : 프로그램 수행 종료

-       Up : 상위 스택 프레임으로 이동

-       Down : 하위 스택 프레임으로 이동

-       Undo : 이전 상황으로 자료구조 값들을 되돌림

-       Redo : Undo 수행 이전 상황으로 되돌림

-       Edit : 소스의 내용이 수정되었다면 수정된 소스를 소스창에 보이기 위해 사용

-       Make : 프로그램을 새로 컴파일

 

F.     Break Point

-       Break Point 생성을 원하는 지점의 행이 시작되는 부분에 마우스 오른쪽 버튼 클릭

-       Set Break Point 선택

 

G.    Break Point 메뉴

-       Set Temporary Breakpoint : 일회성 브레이크 포인트 생성, X가 붙은 STOP 마크로 표현

-       Countinue Until Here : 반복문 수행 중 각 반복 후 멈출 위치를 지정

-       Set Execution Position : 프로그램 실행 경로를 지정한 위치로 점프

 

H.    Break Point 조건 설정

-       Break Point에서 마우스 오른쪽 버튼 클릭

-       Properties 선택

-       Condition 속성 설정 후 조건 지정

 

I.      Break Point 설정 메뉴

-       Disable Breakpoint : 브레이크 포인트를 일시적으로 끔

-       Delete Breakpoint : 설정한 브레이크 포인트 제거

Posted by OnewayK
,