Tại công ty của tôi, chúng tôi có một vấn đề thực sự gây phiền nhiễu với trình liên kết của chúng tôi (ld 2.17). Nó liên kết rất rất chậm trên một hệ thống tương đối nhanh (Core Duo, 2GB Ram) và tôi không thực sự bây giờ làm thế nào để sửa lỗi này. Mất khoảng 5 đến 10 phút để biên dịch một dự án tương đối lớn (mất khoảng 5 giây để liên kết trên hệ thống Gentoo của tôi).Làm thế nào để gỡ lỗi một liên kết (chậm) trên một hệ thống debian
Cá nhân tôi nghĩ rằng đó là một kẻ giết người năng suất rất lớn, ít nhất là đối với tôi. Chúng tôi đã cố gắng sử dụng phiên bản mới hơn của ld (2.19) nhưng không thành công. Tôi đã hỏi #debian trên #freenode, nhưng vấn đề này dường như rất độc đáo. Tôi không tìm thấy bất kỳ thông tin nào về các vấn đề tương tự trên mạng. Nó chỉ xảy ra khi chúng ta xây dựng với các biểu tượng gỡ lỗi. Tôi đã thay đổi cờ thông báo gỡ lỗi gcc thành -g, -g3 và -ggdb, nhưng điều đó cũng không giúp được gì.
Vì vậy, câu hỏi của tôi là, làm thế nào để bạn hồ sơ và gỡ lỗi một mối liên kết? Tôi chưa bao giờ làm bất cứ điều gì như nó, và tôi không thể tìm thấy bất kỳ tài liệu nào về nó. Về cơ bản bất kỳ gprof.out gprof hợp lý sẽ rất hữu ích, vì tôi có thể hỏi các nhà phát triển binutils về một vấn đề cụ thể. Tôi hoàn toàn không biết gì về điều này.
Chỉnh sửa: Chúng tôi đã khắc phục sự cố của chúng tôi khi chuyển sang debian lenny trên hầu hết các hệ thống. Cảm ơn câu trả lời!
+1 cho "hỗ trợ debian không rõ ràng" và cờ gcc :) – tr9sh
@ephemient Tôi đang cố gắng chuyển sang nguồn ld.so và muốn xem dòng mã nguồn đang được thực thi trong GDB. Tôi đã cài đặt binutils-source và libcdbg nhưng GDB cho thấy SOurce không có sẵn khi điều khiển nhập mã ld.so. Bạn có thể vui lòng đề nghị những gì tôi đang thiếu. Cảm ơn http://stackoverflow.com/questions/20114565/gdb-step-into-dynamic-linkerld-so-code – abhi