カスタムLinuxカーネルを使用してbeaglebone blackにgdbをインストールする

カスタムLinuxカーネルを使用してbeaglebone blackにgdbをインストールする

私はbeaglebone black用のアプリケーションを開発しています。 arm gccコンパイラを使用してクロスコンパイルし、scpコマンドを使用してコンパイルされたバイナリをbeaglebone blackに移植し、ボード上で実行します。

アプリケーションはしばらく完全に実行されていましたが、後で分割エラーが発生しました。いくつかの調査を行った後、デバッグを使用できることがわかりましたが、ボードにインストールする方法、またはホストシステムを使用してデバッグする他の方法が何であるかという問題gdbに直面しました。gdbgdbserver

分割エラーをデバッグするのに役立ちます。

ベストアンサー1

まず、cross-gdbが必要です。これを行うには、gdbソースコードをダウンロードして解凍して実行し、通常./configure --target=arm-linux-gnueabiどおりに進みますmake; make install。これでインストールが完了したはずですgdb-linux-gnueabi。走る。 beagleboneで実行しますgdbserver 0.0.0.0:1234。 cross-gdbを実行しているマシンでtarget remote 192.168.12.34:1234BBBのIPアドレスに置き換えるコマンドを入力します。これで、通常どおり gdb セッションを使用できるようになります。

ただし、いくつかの注意事項があります。

  1. プロセスを開始しようとせず、代わりに "continue"(または "c")コマンドを使用してください。
  2. デバッグ中のプロセスを終了するとgdbserver終了します。別のセッションを実行するには、再起動するだけです。 gdbはブレークポイントなどを覚えています。ただし、target remoteコマンドを再実行する必要があります。
  3. Gdbserverは、デバッグされたプログラムのイメージをgdbに送信しません。これを直接行う必要があります。個人的に最も簡単な方法はNFSを使用することだと思います。

おすすめ記事