リモートLinuxバイナリをデバッグする方法は?
-
22-07-2019 - |
質問
状況は次のとおりです。
クラッシュする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に接続します。
所属していません StackOverflow