ソースコードの行を表示します。
次の形式のいずれかを使用します。
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_number や function のみを指定した場合は、指定した行や関数の開始を中心とした複数行が出力されます。デフォルトでは、デバッガーは 10 行を出力します。
begin と end を指定した場合、デバッガーは 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 行を出力します。
end や num を指定しない場合、デバッガーは 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;