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 fibonacci バイナリーファイルのソースコードのリスト表示
例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 }