Làm cách nào để gỡ lỗi mà không có Chương trình nhận tín hiệu SIGILL do sử dụng kernel 3.18 (3.12 hoạt động)?


10

Tôi đã cố gắng gỡ lỗi một chương trình với gdb bằng Raspbian, nhưng tất cả những gì tôi nhận được là:

Program received signal SIGILL, Illegal instruction.
0xb6fe8acc in ?? () from /lib/ld-linux-armhf.so.3

Nó không giúp đặt SIGILLtay cầm thành nostop( handle SIGILL nostop):

Program received signal SIGILL, Illegal instruction.

Program terminated with signal SIGILL, Illegal instruction.
The program no longer exists.

Tất cả các backtrace tôi nhận được là:

#0  0xb6fe8acc in ?? () from /lib/ld-linux-armhf.so.3
#1  0x00000000 in ?? ()

Nếu tôi khởi động chương trình bên ngoài gdb, tôi sẽ nhận được một ngoại lệ C ++ bình thường (mà tôi muốn gỡ lỗi).

Tất cả các phần mềm đã được cập nhật lên phiên bản mới nhất từ ​​kho lưu trữ của Raspbian. Hơn nữa tôi đã thử hạt nhân nền tảng raspberry pi "3.18.9+" và cả hạt nhân raspbain "3.18.0-trunk-rpi" (Tôi cần một số mô-đun hạt nhân tùy chỉnh). Tôi có thể gỡ lỗi chương trình tương tự trên máy chính của mình mà không gặp vấn đề gì.

Cập nhật: Gỡ lỗi hoạt động như mong đợi với kernel "3.12-1-rpi".

Điều gì gây ra lỗi này?


Bạn đã thử handle SIGILL pass nostopchưa?
mpromonet

@mpromonet Vì passtheo mặc định, nó không tạo ra sự khác biệt và nó không tạo ra bất kỳ. Kết quả tương tự như vớihandle SIGILL nostop
someonr

Và không có backtrace có ý nghĩa ( bt)? Tôi nghĩ bạn cần suy nghĩ về việc cung cấp thêm ngữ cảnh ở đây nếu bạn nghiêm túc mong đợi ai đó giải thích "Điều gì gây ra lỗi này?" chỉ dựa trên một hướng dẫn bất hợp pháp trong trình liên kết / trình tải ( ld-linux-armhf).
goldilocks

Tôi không thể nhận được bất kỳ backtrace có ý nghĩa (xem câu hỏi chỉnh sửa). Tôi sẽ cố gắng tạo một ví dụ nhỏ. Ngoài ra, tôi bối rối rằng tôi không nhận được một opcode bất hợp pháp mà không có gdb.
someonr

1
ngăn xếp dường như bị đập vỡ, valgrind có thể giúp gì?
mpromonet

Câu trả lời:


4

Điều này trông giống hệt như vấn đề này: https://github.com/raspberrypi/linux/issues/766

Đã sửa bốn ngày trước.


Âm thanh đầy hứa hẹn. Sẽ kiểm tra sau. Thx cho các thông tin.
someonr

@someonr bạn đã kiểm tra chưa?
tshepang

sudo apt-get update; sudo apt-get upgrade; sudo rpi-updateđã khắc phục sự cố cho tôi, cho phép tôi sử dụng continuehandle SIGILL nostop
morloch
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.