ホームページ >よくある問題 >C言語でデバッグを使用する方法

C言語でデバッグを使用する方法

anonymity
anonymityオリジナル
2019-04-25 09:56:3013530ブラウズ

簡単に言うと2つの方法があり、1つはソースコードを解析してバグ箇所を見つけるソースコードデバッグで、一般的にはprintf()を使ってそれぞれの情報を出力します。プログラム実行のステップ もう 1 つは、実行可能ファイルをデバッグするには、デバッガを使用する必要があります。

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 ; 
 }

デバッグを開く: gcc -DDEBUG -o debug debug.c

デバッグする必要はありません (無限ループ): gcc - o debug debug.c

2. 実行可能ファイルのデバッグの場合、Windows プラットフォームで一般的に使用されるデバッグは、vs/vc に付属するデバッグです。もう 1 つは、Microsoft が開発したデバッガ Windbg です。 gdb は Linux プラットフォームでよく使用されます。

IDE に付属のデバッガは VC6.0 を例にしています。コードを記述した後、ショートカット キーボードの F11 を押してデバッグに入ります。このとき、右クリックして「逆アセンブリへ」を選択します。プログラムの逆アセンブルコードを表示します。一般的にこの場合はC言語の逆アセンブルを学ぶのが主になります。

C言語でデバッグを使用する方法

Windbg には、ソースコードのデバッグ、実行ファイルのデバッグ、カーネルのデバッグ、ダンプファイルのデバッグなど、多くの機能があり、使えば使うほど自然になります。実行可能ファイルをデバッグするには、[ファイル] をクリックし、ポップアップ ダイアログ ボックスで [実行可能ファイルを開く] を選択し、デバッグするプログラムを見つけます。

C言語でデバッグを使用する方法

Gdb デバッガは Linux でよく使用されます。gcc または g を使用して C/C ファイルをコンパイルするときに、gdb デバッグを使用するには、次のことを追加する必要があることに注意してください。 -g パラメータを指定すると、シンボル テーブルが生成されます。下の図は、C で gdb を使用して変数の分布を分析するスクリーンショットです。それがどのようなものであるかを一般的に見てみましょう。何度も使用すると慣れるので、学習する必要はありません。

C言語でデバッグを使用する方法

以上がC言語でデバッグを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。