stepi

アセンブラー命令をステップ実行します。関数呼び出しにはステップインします。

構文

stepi [expr]

パラメーター

expr

数値式。

説明

このコマンドは、1 つの機械命令を実行します。命令に関数呼び出しが含まれる場合、コマンドは呼び出される関数にステップインします。

マルチスレッド・アプリケーションでは、stepi コマンドを使用して、ほかのすべてのスレッドを停止させたまま、現在のスレッドを 1 機械命令ずつステップ実行できます。

expr を指定した場合、デバッガーはこの式を、stepi コマンドを実行する回数を指定する正の整数として評価します。expression は、現在のコンテキストで有効な任意の式です。

次の例は、命令 (stepi) ごとのステップ実行を示しています。呼び出しへのステップオーバーについては、next コマンドの例を参照してください。

GDB モード:

(idb) 
					 x /8i $pc
0x0804ae6d <append+25>: movlr 0x8(%ebp), %eax 
0x0804ae70 <append+28>: movlr (%eax), %eax 
0x0804ae72 <append+30>: movl %eax, -16(%ebp) 
0x0804ae75 <append+33>: pushl %edi 
0x0804ae76 <append+34>: movlr -16(%ebp), %eax 
0x0804ae79 <append+37>: movl %eax, (%esp) 
0x0804ae7c <append+40>: call 0x08051be2 <getNextNode> 
0x0804ae81 <append+45>: addl $0x4, %esp 
(idb) 
					 stepi
0x0804ae70 151 Node* currentNode = _firstNode; 
(idb) 
					 x /1i $pc
0x0804ae70 <append+28>: movlr (%eax), %eax 
(idb) 
					 stepi $count - 1
0x0804ae70 151 Node* currentNode = _firstNode; 
(idb) 
					 x /1i $pc
0x0804ae70 <append+28>: movlr (%eax), %eax 
(idb) 
					 stepi
0x0804ae72 151 Node* currentNode = _firstNode; 
(idb) 
					 x /1i $pc
0x0804ae72 <append+30>: movl %eax, -16(%ebp) 

IDB モード:

(idb) 
					 $curpc/8i
void List<Node>::append(class Node* const): src/x_list.cxx 
*[line 151, 0x0804ae6d] append(class Node* const)+0x19: movlr 0x8(%ebp), %eax 
[line 151, 0x0804ae70] append(class Node* const)+0x1c: movlr (%eax), %eax 
[line 151, 0x0804ae72] append(class Node* const)+0x1e: movl %eax, -16(%ebp) 
[line 152, 0x0804ae75] append(class Node* const)+0x21: pushl %edi 
[line 152, 0x0804ae76] append(class Node* const)+0x22: movlr -16(%ebp), %eax 
[line 152, 0x0804ae79] append(class Node* const)+0x25: movl %eax, (%esp) 
[line 152, 0x0804ae7c] append(class Node* const)+0x28: call getNextNode 
[line 152, 0x0804ae81] append(class Node* const)+0x2d: addl $0x4, %esp 
(idb) 
					 stepi
stopped at [void List<Node>::append(class Node* const):151 0x0804ae70] append(class Node* const)+0x1c: movlr (%eax), %eax 
(idb) 
					 stepi $count - 1
stopped at [void List<Node>::append(class Node* const):151 0x0804ae70] append(class Node* const)+0x1c: movlr (%eax), %eax 
(idb) 
					 stepi
stopped at [void List<Node>::append(class Node* const):151 0x0804ae72] append(class Node* const)+0x1e: movl %eax, -16(%ebp) 

関連情報


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