2012-06-20 46 views
5

Tôi có một segfault đến từ OpenSSL (cụ thể là SSL_read) mà tôi muốn gỡ lỗi. Tôi nghĩ rằng bước tốt nhất để thực hiện ở đây là tự xây dựng thư viện với các biểu tượng gỡ lỗi để tôi có thể bước vào hàm và xem lệnh đang diễn ra. Nó không rõ ràng với tôi làm thế nào để a) xây dựng các thư viện bản thân mình và b) hack makefile để cung cấp cho tôi các biểu tượng gỡ lỗi. Có ai có kinh nghiệm làm điều này với thư viện cụ thể này, hoặc có hướng dẫn chung về cách tiếp cận xây dựng và sửa đổi này không?Xây dựng OpenSSL trên Linux với -g để gỡ lỗi

Got lỗi này:

./config -d 
Operating system: x86_64-whatever-linux2 
This system (debug-linux-x86_64) is not supported. See file INSTALL for details. 

Không biết phải làm gì đây. Thông tin hệ điều hành:

$ cat /proc/version 
Linux version 3.2.0-24-virtual ([email protected]) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.31ubuntu5)) #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012 
$ uname -srvio 
Linux 3.2.0-24-virtual #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012 x86_64 GNU/Linux 

Trả lời

4

Bạn có thể làm theo các hướng dẫn đơn giản được đề cập here để xây dựng OpenSSL. Để tạo bản dựng gỡ lỗi, hãy thêm cờ -d khi bạn chạy ./config, tức là ./config -d [other options]. Xây dựng OpenSSL được đề cập chi tiết here.

+0

không hoạt động - đăng đầu ra cho câu hỏi ban đầu – djechlin

+0

Thử lại với phiên bản mới nhất ... Tôi dumbly theo hướng dẫn đầu tiên bạn đăng được viết khi 0.9.8c là hiện tại, tôi giả sử. – djechlin

+0

OK. Muddled cách của tôi thông qua từ đó, đã nhận nó. – djechlin

1

Sau khi chạy bước cấu hình bình thường, làm như sau từ vỏ:

$ find . -name Makefile | xargs sed -i -e 's#-O3#-g#g' 

dụng chỉnh sửa makefiles tạo; thay vì tùy chọn tối ưu hóa -O3 nó đặt trong tùy chọn -g (tạo các biểu tượng gỡ lỗi).

2

Trên các phiên bản mới của OpenSSL, có vẻ như các cờ được chuyển đến ./Configure được tiêm trực tiếp vào dòng gcc khi biên dịch. Tôi chỉ thực hiện ./Configure -g linux-x86_64 và đã nhận được các biểu tượng gỡ lỗi thành công trong bản dựng của mình.

Các vấn đề liên quan