• 디버그 [debug]
  • Zappy (IP: *.51.113.3)
    조회 수: 5139, 2006-10-01 22:44:09(2006-10-01)
  • 요약
    프로그램의 오류를 발견하고 그 원인을 밝히는 작업 또는 그 프로그램.







    본문
    버그(bug)는 벌레를 뜻하며, 디버그(debug)는 원래 '해충을 잡다'라는 뜻이며, 프로그램의 오류를 벌레에 비유하여 오류를 찾아 수정하는 일이라는 의미로 쓰인다. 프로그램 개발공정의 마지막 단계에서 이루어진다. 주로 디버그가 오류수정 프로그램과 그 작업을 통칭하는 반면 작업에 중점을 둔 어휘는 디버깅(debugging)을 쓰며, 오류수정 소프트웨어를 가리킬 때는 디버거(debugger)라는 말을 쓴다.

    방법은 프로그래머가 직접 손으로 해보고 눈으로 확인하는 테이블 디버깅과 디버깅 소프트웨어를 이용하는 컴퓨터 디버깅이 있다.

    테이블 디버깅은 프로그램 리스트에서 오류의 원인을 추적하는 방법으로 원시프로그램을 읽어가며 분석하는 코드리뷰(code review) 방식, 오류가 발생한 데이터를 사용하여 원시프로그램을 추적하는 워크스루(walk-through) 방식으로 나뉜다.

    컴퓨터 디버깅은 프로그래머가 제공하는 각종 정보와 소프트웨어를 이용하여 누구든지 디버깅을 할 수 있는 방식이다. 여기에는 디버거 방식과 디버그행(行) 방식, 그리고 기계어 방식이 있다.

    먼저 디버거 방식은 프로그램을 시험할 때 디버깅 모드로 컴파일하여 디버거 기능을 포함시켜 사용하면서 오류에 관한 각종 정보를 수집하는 방식이다. 이 방식은 원시프로그램을 수정하는 일이 없이 정보를 수집할 수 있는 장점이 있으나, 디버거에만 의존해야 하므로 정보를 수집할 수 있는 범위가 한정되어 완벽하게 디버깅할 수 없다는 단점이 있다.

    디버그행 방식은 수집하고 싶은 정보를 출력하기 위한 디버깅용 명령을 미리 프로그램 곳곳에 삽입하여 실행시키는 방식으로, 프로그램이 각 지점을 정상적으로 통과하는지 확인하는 방법이다. 이 방식은 세밀한 정보수집에 유용하나 디버깅을 완료하고나서 원시프로그램을 수정해야 하는 번거로움이 있다.

    기계어 방식은 정보를 수집하고자 하는 장소의 주소와 범위를 기계어 수준으로 지정하고, 운영체제의 디버깅 기능을 사용하여 정보를 수집하는 방식이다. 이 방식은 운영체제가 서비스하는 프로그램을 그대로 사용할 수 있다는 장점이 있으나, 정보수집 및 분석에 시간이 걸리는 것이 단점이다.

댓글 0

번호 제목 닉네임 조회  등록일 
12 Zappy 6022 2006-10-18
11 Zappy 5792 2006-10-18
10 Zappy 5561 2006-10-18
9 Zappy 5541 2006-10-18
8 Zappy 5043 2006-10-18
7 Zappy 5460 2006-02-28
Zappy 5139 2006-10-01
5 Zappy 6949 2006-09-22
4 Zappy 5924 2006-09-05
3 Zappy 5440 2006-09-05
XE Login