GDB の使用 - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語

適切なターゲットに対するコンパイルが完了したら、シミュレーションを起動して GDB インスタンスを自動的に接続できます。対話型の GDB セッションを起動するには、コマンドを次のように --gdb オプションを使用して実行します。

x86simulator --gdb

x86 シミュレータを --gdb オプションを使用して実行すると、デフォルトで graph.cppmain() に入る前に停止します。グラフは実行されていないので、実行が AI エンジン カーネルが開始する前に停止します。GDB を終了するには、quit と入力します。コマンドの詳細は、help を使用してください。

ブレークポイントは、複数の方法で設定できます。次の構文を使用するのが 1 つの方法です。

break <kernel_function_name>

continue (短縮形 c) と入力すると、デバッガーが <kernel function name> のブレークポイントまで実行されます。ブレークポイントに達したら、ローカル スタック変数および関数引数を確認できます。次の表に、これらの変数を確認するためによく使用される GDB 命令のいくつかを示します。

表 1. よく使用される 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 を参照してください。