Tôi gặp sự cố với gỡ lỗi từ xa.gdb gỡ lỗi chéo từ xa không thành công với "Remote 'g' trả lời gói quá dài"
Máy chủ: máy tính xách tay intel i5 với ubuntu 10.10 x86 Mục tiêu: Freescale iMX35 (iMX35 PDK) cánh tay 11 Môi trường phát triển: Thư viện Qt Creator 2.1RC và Qt4.7.1. Trình biên dịch cánh tay trong đường dẫn: /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
arm-none-linux-gnueabi-gcov arm-none-linux-gnueabi-readelf arm-none-linux-gnueabi-as
arm-none-linux-gnueabi-run arm-none-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 ++
cánh tay-none-linux-gnueabi-nm cánh tay-none-linux-gnueabi-gcc
cánh tay-none-linux-gnueabi-objcopy
mục đích là để gỡ lỗi một dự án được tạo bằng Qt. Vì vậy, tôi chỉ cần tạo một Dự án Nhanh Qt -> Ứng dụng Nhanh Qt tạo ứng dụng Hello World đơn giản (C++/Qml) Tôi biên dịch nó (gỡ lỗi hoặc phát hành) và hoạt động tốt trên mục tiêu. Vì vậy, tôi khá chắc chắn rằng biên dịch chéo không liên quan đến vấn đề tôi sẽ chỉ cho bạn.
tôi tải gdb 7.2 và thực hiện các hoạt động sau:
$ export PATH =/opt/Freescale/usr/local/gcc-4.1.2-glibc-2,5-nptl-3/cánh tay-none -linux-gnueabi/bin: $ PATH
$ cd /home/elux/iMX35/gdb-7.2/
$ ./configure --target = tay-none-linux-gnueabi --build = i686
$ make
$ sudo make install$ export CC = arm-none-linux-gnueabi-gcc
$ xuất LD = arm-none-linux-gnueabi-ld
$ cd gdb/gdbserver/
$ ./configure --build = i386 --host = arm-none-linux-gnueabi --target = arm -none-linux- gnueabi
$ make$ sudo cp gdbserver/home/elux/MX35/ltib/rootfs/usr/bin/(để sao chép gdbserver để nhắm mục tiêu)
Sau đó trên mục tiêu:
$ gdbserver 10.10.10.1: 4000 Test
Quá trình kiểm tra được tạo; pid = 2194
Lắng nghe trên cổng 4000
Trên mục tiêu:
$ cánh tay-none-linux-gnueabi-gdb thử nghiệm (Test là cross-biên dịch nó Qt Creator trong chế độ gỡ lỗi) GNU gdb (gDB) 7.2
bản quyền (C) 2010 Free Software Foundation, Inc.
Giấy phép GPLv3 +: GNU GPL phiên bản 3 hay muộn http://gnu.org/licenses/gpl.html
Đây là phần mềm miễn phí: bạn có thể tự do thay đổi và phân phối lại nó.
KHÔNG CÓ BẢO HÀNH, trong phạm vi pháp luật cho phép. Nhập "hiển thị sao chép"
và "hiển thị bảo hành" để biết chi tiết.
GDB này được định cấu hình là "--host = i686 --target = arm-none-linux-gnueabi".
Để được hướng dẫn báo cáo lỗi, vui lòng xem:
http://www.gnu.org/software/gdb/bugs/ ...
ký Reading từ /home/elux/iMX35/ltib/rpm/BUILD/qt-everywhere-opensource-src-4.7.1/nền tảng/Test- build-arm/Test ... hoàn thành.
(gdb) nhắm mục tiêu từ xa 10.10.10.2:4000
Gỡ lỗi từ xa bằng cách sử dụng 10.10.10.2:4000
cảnh báo: Không thể phân tích cú pháp mô tả đích XML; Hỗ trợ XML đã bị tắt tại thời điểm biên dịch
cảnh báo: Không thể tìm thấy chức năng điểm ngắt liên kết động.
GDB sẽ không thể gỡ lỗi trình khởi tạo thư viện được chia sẻ
và theo dõi mã động được tải một cách rõ ràng.
0x400007e0 in ??()
(gdb)
và
(gdb) thiết solib-tuyệt đối-prefix/home/elux/iMX35/ltib/rootfs/
ký Reading từ/home/elux/iMX35/ltib/rootfs/lib/ld-linux.so.3 ... hoàn tất.
Ký hiệu được tải cho /home/elux/iMX35/ltib/rootfs/lib/ld-linux.so.3
nhưng
(gdb) thiết lập kiến trúc ARMv5TE
Kiến trúc mục tiêu được giả định là ARMv5TE
từ xa 'g' gói tin trả lời quá dài: 00000000a7ee8ebe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ed8ebe00000000e007004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000(gdb) b chính
từ xa trả lời 'g' gói là quá dài: 00000000a7ee8ebe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b0ed8ebe00000000e007004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Bạn đã có bất kỳ ý tưởng gì vấn đề này có liên quan đến? Làm thế nào tôi có thể giải quyết nó?
Đây là câu trả lời đúng. – BHS