Điều đó có nghĩa là gì khi nó cung cấp cho một backtrace với đầu ra sau đây?Thông báo phản hồi GDB "0x0000000000000000 in ??()" có nghĩa là gì?
#0 0x00000008009c991c in pthread_testcancel() from /lib/libpthread.so.2
#1 0x00000008009b8120 in sigaction() from /lib/libpthread.so.2
#2 0x00000008009c211a in pthread_mutexattr_init() from /lib/libpthread.so.2
#3 0x0000000000000000 in ??()
Chương trình đã bị lỗi với tín hiệu chuẩn 11, lỗi phân đoạn. Ứng dụng của tôi là chương trình FastCGI C++ đa luồng chạy trên FreeBSD 6.3, sử dụng pthread làm thư viện luồng.
Nó đã được biên dịch bằng -g và tất cả các bảng biểu tượng cho nguồn của tôi được tải, theo các nguồn thông tin.
Như đã nói rõ, không có mã thực sự nào của tôi xuất hiện trong dấu vết mà thay vào đó, lỗi có vẻ như bắt nguồn từ các thư viện pthread chuẩn. Đặc biệt, cái gì ??() ????
EDIT: cuối cùng đã theo dõi sự cố xuống quyền truy cập bộ nhớ không hợp lệ tiêu chuẩn trong mã chính của tôi. Không giải thích tại sao dấu vết ngăn xếp bị hỏng, nhưng đó là câu hỏi cho một ngày khác :)