2017-12-22 36 views
0

gdbserverでクロスコンパイルされたアプリケーションをデバッグしようとしています。残念ながら、私は私のホスト上で次のエラーを取得する:
ここ Reply contains invalid hex digit 59
は私がやったことだ:gdbserver - >返信に無効な文字が含まれています

  • コンパイルgccで(単なるテストプログラムである)私のアプリケーション「ライン・ジェネレータ」-ggdb3 -std = gnu89フラグ(-ggdb3ではなく-gを使用しても差異はありません)
  • 実行ファイルを私の組み込みシステムにコピーします。 execが
  • が実行することができ、私はGDBを起動するホスト上で組み込みシステム
  • のgdbserverを192.168.10.20:54320ライン発電を開始しました:GDBラインgenerator.gdb
  • (GDB)は、リモート192.168.10.102をターゲット:54320
  • は、ホスト上でこの応答を得た:ホスト192.168.10.20から
    リモートデバッグ:192.168.10.102:54320
    返信を使用して
    リモートデバッグは、私はこれを得たサーバーで無効な16進数59
  • が含まれています0 readchar:EOFを取得
    リモート側で接続が終了しました。 GDBserverは接続を再度開きます。
    私はので、多分私は、すべての応答が役立つかもしれない初心者の問題に実行していますリモートでGDBを使用したことがないポート54320

に聞きます。

編集:私のgdbserverは、組み込みハードウェアの製造元から提供されています。

+0

関連:https://stackoverflow.com/questions/23934552/cant-remote-debug-with-gdb –

答えて

0

クロスコンパイルされた実行可能ファイルをリモートでデバッグするには、そのホストコンピュータ上でgdbをコンパイルする必要があることがわかりました。私の場合、それは私がこのコマンド

代わりに幸運なことに、正しいファイルが埋め込まれたボードの製造業者によって提供された

gdb line-generator.gdbシンプル

/opt/microblaze-uclinux-tools/bin/microblaze-uclinux-gdb line-g 
enerator.gdb 

に使用しなければならないことを意味します! 正直言って私は文脈を完全に理解していないので、誰かがこれについての説明をしていれば、これを聞いてうれしいでしょう!
歓声、Stefan

関連する問題