2011-02-04 19 views
13

リモートデバッグに問題があります。gdbのリモートクロスデバッグが失敗する "リモート 'g'パケットの応答が長すぎます。

ホスト:Ubuntuの10.10のx86 ターゲットとノートパソコンのインテルのi5:Qtの創造主2.1RCとQt4.7.1ライブラリ:フリースケールiMX35(iMX35 PDK)は11 開発環境を腕。 パス内のアームコンパイラ:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin

arm-none-linux-gnueabi- gcc-4.1.2 arm-none-linux-gnueabi-objdump arm-none-linux-gnueabi-addr2line arm-none-linux-gnueabi-gccbug
arm-none-linux-gnueabi-ranlib arm-none-linux- gnueabi-AR
アームなし-Linuxベースgnueabi-gcovのアーム-なし-Linuxベースgnueabi-readelfが
アームなし-Linuxの-gnueabi-ASアームなし-Linuxベースgnueabiランアームなし-linux- gnueabi-C++
arm-none-linux-gnueabi-size arm-none-linux-gnueabi-C++ filt
arm-none-linux-gnueabi-gprof arm-none-linux-gnueabi-strings arm-none-linux-gnueabi-cpp arm-none-linux-gnueabi-ld
arm-none-linux-gnueabi-strip arm -none-のlinux-gnueabi-G ++
アームなし - のlinux-gnueabi nmのアームなし - のlinux-gnueabi-gccの
アームなし - のlinux-gnueabi-objcopyを

目標は、プロジェクトをデバッグすることですQtで作成されました。 Qtクイックプロジェクト - > Qtクイックアプリケーション 単純なHello Worldアプリケーション(C++/Qml)を作成します。 私はクロスコンパイル(デバッグまたはリリース)して、ターゲットで をうまく動作します。クロスコンパイル は私があなたに示す問題に関連していないことは間違いありません。

は私はGDB 7.2をダウンロードして、次の操作を行っ:=は/ opt /フリースケールは/ usr/local/GCC-4.1.2-のglibc-2.5-NPTL-3 /アームなし

$輸出PATHを-linux-gnueabi/binに:$ PATHの
$ CD /home/elux/iMX35/gdb-7.2/
$ ./configureを--target =腕-なし-linuxの-gnueabi --build = i686の
$作ります
$ sudoを

$輸出CC =アームなし - のlinux-gnueabi-gccのをインストールします $輸出LD =アームなし - のlinux-gnueabi-LD
$ CD GDB/gdbserverを/
$ ./configureを--build = i386の--host =アームなし - のlinux-gnueabi --target =アーム(ターゲットにgdbserverをコピーする)-none-linux- gnueabi
$作る

$ sudoをのcp gdbserverを/ホーム/ elux/MX35/LTIB/rootfsのは/ usr/binに/

その後に目標:

$ gdbserver 10.10.10。1:4000テスト
プロセステストが作成されました。 PID = 2194
は、ターゲット上のポート4000

にリスニング:

$アームなし-Linuxベースgnueabi-GDBテスト(テストは、それがデバッグモードでのQt Creatorのクロスコンパイルされる) をGNUのGDB(GDB)7.2
著作権(C)2010 Free Software Foundationが、株式会社
ライセンスGPLv3の+:GNU GPLバージョン3以降http://gnu.org/licenses/gpl.html
これはフリーソフトウェアです:あなたはそれを変更して再配布は自由です。
法律で認められる範囲での保証はありません。詳細は「ショーコピー」
と「保証の表示」と入力してください。
このGDBは "--host = i686 --target = arm-none-linux-gnueabi"として構成されています。バグ報告の手順については
、参照してください。
http://www.gnu.org/software/gdb/bugs/ ... /home/elux/iMX35/ltib/rpm/BUILD/qt-everywhere-opensource-src-4.7.1 /プラットフォーム/テスト - から
読書シンボルビルドアーム/テスト...完了。
(GDB)ターゲットのリモート10.10.10.2:4000
10.10.10.2:4000
警告を使用してリモートデバッグ:XMLターゲットの記述を解析できません。コンパイル時にXMLサポートが無効にされました
警告:動的リンカーブレークポイント機能が見つかりません。
GDBが共有ライブラリ初期化子
をデバッグして明示的にロードされた動的なコードを追跡することができません。

0x400007e0? ()
(GDB)

(GDB)を設定solib絶対プレフィックス/ホーム/ elux/iMX35/LTIB/rootfsの/
読書シンボルホーム/ elux//からiMX35/ltib/rootfs/lib/ld-linux.so.3 ...完了しました。
/home/elux/iMX35/ltib/rootfs/lib/ld-linux.soのシンボルがロードされています。ターゲットアーキテクチャがARMv5TE以降
リモート 'G' パケット応答であると仮定される
ARMv5TE以降3

しかし

(GDB)セットアーキテクチャが長すぎ:00000000a7ee8ebe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ed8ebe00000000e007004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
メインリモコン 'G' のパケット応答B 000000

(GDB)が長すぎる:00000000a7ee8ebe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ed8ebe00000000e007004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

は、この問題が関連するものを任意のアイデアを持っていますか?どうすれば解決できますか?

答えて

7

Ubuntu 11.10 64ビットを実行しているi5マシンでFreescale ARMをデバッグしようとすると、同じ問題が発生しました。

gdbを設定するときに--with-expatフラグを指定することでした。また、libexpat1-devパッケージをインストールする必要がありました。

Explanation here

+0

これは正解です。 – BHS

13

私はUbuntuの12.04(x86_64版)に最近、このに走ったし、別の方法でそれを解決したように、私は私がコメントをしようと思いました。この場合のキッカーは、Ubuntuにgdbのlibexpatが有効になっているようです。いくつか後でいじり、これは私のためにそれを解く:

セットi386アーキテクチャ:x86-64で:インテル

をだから、アーキテクチャの不一致が同様に存在するとき、これが発生することができます表示されます。

+2

OPについて知りませんが、私の問題は解決しました。本当にありがとう。 –

+2

アーキテクチャを設定しても問題が解決しない場合は、レジスタサイズ切り替えの問題が考えられます。http://stackoverflow.com/a/34304137/151464 –

9

代わりにgdb-multiarchを使用して問題を解決できました。

関連する問題