状況は次のとおりです。
クラッシュしている Linux バイナリがあります。ログ ファイル、トレース ファイルなどはありません。デバッガーを接続して (ソースをローカルに持っています)、エラーを追跡できるようにする必要があります。
この問題に取り組むための最も簡単で最良の方法は何ですか?
状況は次のとおりです。
クラッシュしている Linux バイナリがあります。ログ ファイル、トレース ファイルなどはありません。デバッガーを接続して (ソースをローカルに持っています)、エラーを追跡できるようにする必要があります。
この問題に取り組むための最も簡単で最良の方法は何ですか?
リモート デバッグはかなり単純です。ターゲット プラットフォームで、GDBserver を使用してアプリケーションを起動し、着信 TCP 接続をリッスンするためのホストとポートを指定します。
gdbserver HOST:PORT PROG [ARGS ...]
開発ワークステーションで、クロスターゲット GDB を起動します。
powerpc-7450-linux-gnu-gdb PROG
ストリップされていない実行可能ファイルを必ず指定してください。GDB コンソールで、次のように入力します。
target remote HOST:PORT
break main
continue
gdb はリモート デバッグをサポートしているようです。
私はそれを使用したことはありませんが、http://davis.lbl.gov/Manuals/GDB/gdb_17.htmlが最初のようです。
基本的に、ターゲット マシンの gdbserver の下でプログラムを実行すると、gdb が (TCP またはシリアル経由で) gdbserver に接続します。