適切なターゲットに対するコンパイルが完了したら、シミュレーションを起動して GDB インスタンスを自動的に接続できます。対話型の GDB セッションを起動するには、コマンドを次のように --gdb
オプションを使用して実行します。
x86simulator --gdb
x86 シミュレータを --gdb
オプションを使用して実行すると、デフォルトで graph.cpp の main()
に入る前に停止します。グラフは実行されていないので、実行が AI エンジン カーネルが開始する前に停止します。GDB を終了するには、quit
と入力します。コマンドの詳細は、help
を使用してください。
ブレークポイントは、複数の方法で設定できます。次の構文を使用するのが 1 つの方法です。
break <kernel_function_name>
continue
(短縮形 c
) と入力すると、デバッガーが <kernel function name>
のブレークポイントまで実行されます。ブレークポイントに達したら、ローカル スタック変数および関数引数を確認できます。次の表に、これらの変数を確認するためによく使用される GDB 命令のいくつかを示します。
コマンド | 説明 |
---|---|
info stack
|
現在のブレークポイントでの関数呼び出しスタックをレポートします。 |
info
locals
|
呼び出しスタックに表示されている関数呼び出しのスコープ内におけるローカル変数の現在のステータスを表示します。 |
print
<local_variable_name>
|
1 つの変数の現在の値を表示します。 |
finish
|
現在の関数呼び出しを終了しますが、シミュレーションは停止したままにします。 |
continue
|
デバッガーを完了まで実行します。 |
GDB は、多くの機能を持つ高度なデバッガーです。GDB の詳細な使用方法は、この資料では説明しません。GDB の資料は、https://sourceware.org/gdb/current/onlinedocs/gdb.pdf および https://sourceware.org/gdb/current/onlinedocs/refcard.pdf を参照してください。