Linux で GDB を使用して組み込み ARM プログラムをデバッグするための一般的な構成方法
特殊なコンピューター システムとして、組み込みシステムは通常、電子機器に統合され、ハードウェア リソースの制御と管理に使用されます。組み込みシステムの動作をデバッグおよび分析するには、専用のツールを使用する必要があります。その中でも、GDB は、組み込みシステム上で実行し、プログラムと通信できる、一般的に使用されるオープン ソース デバッガーです。この記事では、GDB を使用して Linux で組み込み ARM プログラムをデバッグするための一般的な構成方法を紹介し、コード例を示します。
始める前に、必要なソフトウェアとツールをインストールする必要があります。まず、ARM プログラムをコンパイルするために GCC ツール チェーンが Linux システムにインストールされていることを確認します。次に、次のコマンドを使用して GDB デバッガをインストールします。
sudo apt-get install gdb-multiarch
デバッグの前に、単純な組み込み ARM プログラムをコンパイルする必要があります。以下は、2 つの数値の合計を計算する簡単なプログラム例です。
#include <stdio.h> int main() { int a = 5; int b = 10; int sum = a + b; printf("Sum: %d ", sum); return 0; }
上記のコードを sum.c
ファイルとして保存します。
次のコマンドを使用してプログラムをコンパイルします。
arm-linux-gnueabi-gcc -o sum sum.c
コンパイルが完了すると、sum
という名前の実行可能ファイルが現在のディレクトリに生成されます。
組み込み ARM デバイスを Linux ホストに接続します。 USB ケーブルを使用して 2 つを接続し、デバイスがデバッグ モードになっていることを確認します。
Linux ホスト上で GDB デバッガーを起動し、次のコマンドを使用して実行可能ファイルを開きます:
gdb-multiarch sum
この時点で, GDB はコマンド ライン インターフェイスを表示し、デバッグ指示の入力を待ちます。
GDB コマンド ライン インターフェイスで次のコマンドを入力して、組み込み ARM デバイスに接続するように GDB を構成します:
target remote :8888
ここで 8888
は、デバイス上の GDB サーバーのリスニング ポート番号です。特定のポート番号はデバイスごとに異なる場合があり、実際の状況に応じて調整する必要があることに注意してください。
GDB コマンド ライン インターフェイスで、次のコマンドを入力してブレークポイントを設定します。
break main
これはプログラムの中にあります。 main
関数にブレークポイントを設定して、プログラムがこの関数を実行するときに一時停止します。
次のコマンドを入力してデバッグを開始します:
continue
これにより、プログラムの実行が開始され、ブレークポイントに到達すると停止します。 。
プログラムの実行が停止したら、次のコマンドを使用してデバッグできます:
next
: 次のコード行を実行step
: 関数内に入力list
: ソースコードを表示print
: 変数値を出力します watch
: 変数値の変化を監視します Continue
: プログラムの実行を続行します quit
: GDB デバッガーを終了します。quit
以上がLinux で GDB を使用して組み込み ARM プログラムをデバッグするための一般的な構成方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。