8.4. ソースコードの一覧表示

デバッグしているプログラムのソースコードを表示するには、次のコマンドを実行します。

(gdb) list

デバッグしているプログラムの実行を開始する前に、gdb はソースコードの最初の 10 行を表示し、その後に使用しても別の 10 行が一覧表示されます。実行を開始すると、gdb は通常はブレークポイントを設定する際に実行が停止した行を取ります。

特定の行を取り囲むコードを表示することもできます。

(gdb) list file_name:line_number

同様に、特定の関数の開始点を囲むコードを表示するには、次のコマンドを実行します。

(gdb) list file_name:function_name

list コマンドが表示する行数を変更できます。

(gdb) set listsize number

例8.4 fiacci バイナリーファイルのソースコードの一覧表示

例8.1「デバッグ情報を使用した C プログラムのコンパイル」 に記載されている fibonacci.c ファイルには、正確に 17 行があります。デバッグ情報を使用してコンパイルし、gdb ユーティリティーにソースコード全体を一覧表示できるようにする場合は、以下のコマンドを実行して、一覧表示されている行の数を 20 に変更します。

(gdb) set listsize 20

引数なしで list コマンドを実行して、デバッグするファイルのソースコード全体を表示できるようになりました。

(gdb) list
1       #include <stdio.h>
2       #include <limits.h>
3
4       int main (int argc, char *argv[]) {
5         unsigned long int a = 0;
6         unsigned long int b = 1;
7         unsigned long int sum;
8
9         while (b < LONG_MAX) {
10          printf("%ld ", b);
11          sum = a + b;
12          a = b;
13          b = sum;
14        }
15
16        return 0;
17      }