개발자는 컴파일 과정을 통해 만든 실행 파일을 이용하여 실행을 하면서 문제점을 수정하는 디버깅 과정을
반드시 거치게 된다.
리눅스에는 다음과 같이 프로그램을 디버깅 할 수 있는 도구가 있다.
각 도구마다 디버깅 요소가 다르므로, 필요에 따라 선택하여 사용하는 것이 좋다
각 도구의 자세한 사용방법은 man 페이지를 통해 확인할수 있다
일단 간단히 알아보자
gdb
gdb는 GNU에서 제공하는 공개되어 있는 디버거
이 도구를 이용하려면 컴파일 시 -g 옵션과 함께 컴파일 되어야한다.
gdb를 이용하는 방법은 다음과 같다
$ gdb 실행파일명 또는 gdb -P 실행중인 PID
제공되는 명령은 다음과같다
디버깅을 실제로 해보자
코드를 작성하고
gcc mydebug.c -g -o mydebug 로 컴파일을 한다
중요한건 -g 옵션을 줘야 한다는것이다.
$ gdb mydebug 명령어로 gdb를 실행한다
위에 명령어를 사용하면서 실행법을 익혀본다
반드시 거치게 된다.
리눅스에는 다음과 같이 프로그램을 디버깅 할 수 있는 도구가 있다.
각 도구마다 디버깅 요소가 다르므로, 필요에 따라 선택하여 사용하는 것이 좋다
각 도구의 자세한 사용방법은 man 페이지를 통해 확인할수 있다
일단 간단히 알아보자
gdb
gdb는 GNU에서 제공하는 공개되어 있는 디버거
이 도구를 이용하려면 컴파일 시 -g 옵션과 함께 컴파일 되어야한다.
gdb를 이용하는 방법은 다음과 같다
$ gdb 실행파일명 또는 gdb -P 실행중인 PID
제공되는 명령은 다음과같다
디버깅을 실제로 해보자
코드를 작성하고
gcc mydebug.c -g -o mydebug 로 컴파일을 한다
중요한건 -g 옵션을 줘야 한다는것이다.
$ gdb mydebug 명령어로 gdb를 실행한다
위에 명령어를 사용하면서 실행법을 익혀본다
'linux > system programming' 카테고리의 다른 글
리눅스 라이브러리 함수를 만들어보자 -정적 라이브러리 생성 (0) | 2011.06.26 |
---|---|
6. 리눅스 시스템 프로그래밍 - strace 와 ltrace (2) | 2011.06.26 |
4. 리눅스 시스템 프로그래밍 - 컴파일 & 라이브러리 생성 (0) | 2011.06.22 |
3. 리눅스 시스템 프로그래밍 - 시스템 콜과 라이브러리 함수 목록 (0) | 2011.06.22 |
2. 리눅스 시스템 프로그래밍 - 라이브러리 함수와 시스템콜 (0) | 2011.06.22 |