list

ソースコードの行を表示します。

構文

次の形式のいずれかを使用します。

GDB モード:

list
list [ file_name:]line_expression
list begin,end
list begin,
list ,end
list +[num]
list -[num]
list *address

IDB モード:

list [ line_expression ]
list  begin , end 
list  begin : num  

パラメーター

line_expression

結果が整数や表示するソースコードの関数名の式。コマンドの構文と式により、デバッガーによる line_expression の評価方法が特定されます。

この式が整数の場合、表示するソースコードの行番号、あるいは次のパラメーターのいずれかです。

begin

end

+num

-num

begin

表示するソースコード範囲の開始位置の行番号を評価する式。

end

表示するソースコード範囲の終了位置の行番号を評価する式。

num

出力する行数。

GDB モード:

デフォルトは 10 です。

file_name

出力するソースコードを含むファイル名。

line_number

表示するソースコードの行番号。

function

表示するソースコードの関数名。

address

ソースコードの行からコンパイラーが出力する命令のアドレス。

説明

このコマンドは、次の項目により指定されるソースコード行を表示します。

GDB モード:

パラメーターを指定しない場合、デバッガーは現在の行の前後合わせて 10 行を出力します。デバッガーが出力した最後の行がこのコマンドの出力にあたる場合、デバッガーは出力された最後の行に続く行を出力します。出力された最後の行がスタックフレームの一部としてデバッガーが出力した単一行の場合、その行を中心とした複数行が出力されます。

line_numberfunction のみを指定した場合は、指定した行や関数の開始を中心とした複数行が出力されます。デフォルトでは、デバッガーは 10 行を出力します。

beginend を指定した場合、デバッガーは begin で始まる行から end で終わる行までを出力します。begin または end のいずれかのみを指定した場合、デバッガーは begin の後、または end の前の 10 行を出力します。

list + は最後に出力した後の num 行を出力します。list - は最後に出力した前の num 行を出力します。num を含めない場合、デバッガーは 10 行を出力します。

*address を指定した場合、デバッガーは、指定したプログラムのアドレスにある命令にコンパイルされた行を出力します。

IDB モード:

line_number または function のみを指定した場合は、指定した行や関数の先頭から開始する行が出力されます。デフォルトでは、デバッガーは 10 行を出力します。

begin , end を指定した場合、デバッガーは begin で始まる行から end で終わる行までを出力します。begin : num を指定した場合、デバッガーは begin で始まる num 行を出力します。

endnum を指定しない場合、デバッガーは 20 行を表示するか、あるいはソースファイルの終わりに達すると、それよりも少なくなります。

例えば、行 16 から 20 をリストするには次のように指定します。

(idb) 
					 list 16,20
16 
17 class Node { 
18 public: 
19 Node (); 
20 

行 16 から開始して、6 行をリストするには次のように指定します。

GDB モード:

(idb) 
					 list 16,+6
16 
17 class Node { 
18 public: 
19 Node (); 
20 
21 virtual void printNodeData() const = 0; 

その他のリストコマンドの例を次に示します。

list -2,
list ,+2
list -2,+2
list myfile:2
list myfile:2,
list ,myfile:2
list myfile:2,myfile:3
list myfile:bar
list myfile:bar,
list ,myfile:bar
list myfile:bar,myfile:foo
list *0x123

IDB モード:

(idb) 
					 list 16:6
16 
17 class Node { 
18 public: 
19 Node (); 
20 
21 virtual void printNodeData() const = 0; 

関連情報


このヘルプトピックについてのフィードバックを送信