>일반적인 문제 >C 언어에서 디버그를 사용하는 방법

C 언어에서 디버그를 사용하는 방법

anonymity
anonymity원래의
2019-04-25 09:56:3013529검색

간단히 말하면, 두 가지 방법이 있습니다. 하나는 소스 코드를 분석하여 버그 위치를 찾는 것입니다. 일반적으로 printf()는 프로그램 실행의 각 단계에 대한 정보를 출력하는 데 사용됩니다. 다른 하나는 실행 파일 디버깅으로, 이를 수행하려면 디버거를 사용해야 합니다.

1. 소스코드 디버깅

C 언어에서 디버그를 사용하는 방법

은 주로 프로그램 실행 시 출력되는 정보를 이용하여 버그 위치를 찾아 소스코드를 수정합니다.

#include <stdio.h>
void f() { ; }
int main()
{
#ifdef _DEBUG
    printf("start main function!\n");
#endif
    void f();
#ifdef _DEBUG
    printf("leave main function !\n");
#endif
    return 0;
}

C 언어에서 디버그를 사용하는 또 다른 사례

# 在代码中写入 
#ifdef  DEBUG     
#endif 
# 编译时用 gcc –DDEBUG –g –o ***  ***.c  此时运行的结果是有debug信息的 ,gcc –o ***  ***.c  无debug 信息 ,如
# include <stdio.h>
int main ()
{    int i=0 ;
    while (1) {
  printf ("hello world\t") ;
        i++ ;
    printf ("time=%d\n",i);
#ifdef DEBUG
     if (i>10)
         break ;
#endif
    }   
       return 0 ; 
 }

Open debug: gcc -DDEBUG -o debug debug.c

디버그할 필요 없음(무한 루프): gcc -o debug debug.c

2 실행 가능합니다. 파일 디버깅 중 Windows 플랫폼에서 일반적으로 사용되는 디버깅은 vs/vc와 함께 제공되는 디버깅입니다. 다른 하나는 Microsoft에서 개발한 디버거 windbg입니다. gdb는 Linux 플랫폼에서 일반적으로 사용됩니다.

IDE에 포함된 디버거는 VC6.0을 예로 들어보겠습니다. 코드를 작성한 후 단축키 F11을 눌러 디버깅에 들어갑니다. 이때 마우스 오른쪽 버튼을 클릭하고 "go to disassemble"을 선택하면 디스어셈블리를 볼 수 있습니다. 프로그램의 코드. 일반적으로 이 경우 주로 C 언어의 디스어셈블리를 학습하기 위한 것입니다.

C 언어에서 디버그를 사용하는 방법

Windbg에는 소스 코드 디버그, 실행 파일 디버그, 커널 디버깅, 덤프 파일 디버그 등 다양한 기능이 있습니다. 실행 파일을 디버그하려면 클릭만 하면 자연스럽게 익숙해집니다. "파일"을 클릭하고 팝업 대화 상자에서 "실행 파일 열기"를 선택한 다음 디버그하려는 프로그램을 찾으세요.

C 언어에서 디버그를 사용하는 방법

Gdb 디버거는 Linux에서 일반적으로 사용됩니다. gdb 디버깅을 사용하려면 gcc 또는 g++를 사용하여 C/C++ 파일을 컴파일할 때 -g 매개변수를 추가하여 기호 테이블을 생성해야 한다는 점에 유의할 가치가 있습니다. 아래 그림은 C++에서 변수의 분포를 분석하기 위해 gdb를 사용한 스크린샷입니다. 많이 사용해보면 익숙해질 것이므로 따로 배울 필요는 없습니다. .

C 언어에서 디버그를 사용하는 방법

위 내용은 C 언어에서 디버그를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.