Làm thế nào để cài đặt các biểu tượng gỡ lỗi cho các gói đã cài đặt?


8

Tôi cố gắng xem các chương trình hoạt động như thế nào bằng cách chạy chúng bởi trình gỡ lỗi 'Qt Creator'. Để có định hướng tốt hơn, tôi cũng muốn xem các tiện ích hệ thống (lõi) đầy đủ trong cửa sổ ngăn xếp cuộc gọi khi tôi được sử dụng từ MS Visual Studio 6.0, không chỉ để xem mã lắp ráp của chúng. Đối với các tiện ích, trình gỡ lỗi 'Qt Creator' chỉ hiển thị rằng các biểu tượng gỡ lỗi của chúng không khả dụng. (Đôi khi, hệ thống tạo báo cáo lỗi cho nhà phát triển; hộp thoại báo cáo lỗi đã yêu cầu chỉ cài đặt các ký hiệu như vậy cho một chương trình cụ thể.) Làm cách nào tôi có thể nhận được các ký hiệu gỡ lỗi cốt lõi? (Không dịch toàn bộ phiên bản Ubuntu. Tôi sử dụng 'Trình quản lý cập nhật' để cài đặt các bản cập nhật thường xuyên.

/ sys / kernel / gỡ lỗi / x86
thư mục chỉ chứa một tập tin trống. Tôi chưa tìm thấy nó trong 'Trung tâm phần mềm Ubuntu' và tôi cũng không biết liệu một số gói tại http://packages.ubfox.com/precise/x11/ có phải là thứ tôi tìm kiếm không.) Cảm ơn!


1
Xem này trang.
saiarcot895

@ saiarcot895 Nó hoạt động, vui lòng đưa ra nhận xét của bạn dưới dạng câu trả lời để tôi có thể đặt nó làm nhận xét. Các biểu tượng gỡ lỗi được đặt trong hệ thống tập tin của tôi ở đâu? Cảm ơn!
Tomáš Pečený

Câu trả lời:


8

Các gói trong Ubuntu có các biểu tượng gỡ lỗi được lưu trữ trong một repo riêng. Để tải xuống các biểu tượng gỡ lỗi này, hãy chạy (sao chép và dán):

printf "deb http://ddebs.ubuntu.com %s main restricted universe multiverse\n" $(lsb_release -cs){,-updates,-security,-proposed} | \
 sudo tee -a /etc/apt/sources.list.d/ddebs.list

để thêm các liên kết repo vào /etc/apt/sources.list.d/ddebs.list(Điều này giúp loại bỏ repo dễ dàng hơn). Ngoài ra, bạn cũng có thể sao chép từng debliên kết vào Nguồn phần mềm và thêm chúng từ đó (Lưu ý rằng bạn có thể sẽ cần phải thay thế $(lsb_release -cs)bằng bản phát hành Ubuntu mà bạn đang chạy).

Để tải xuống các biểu tượng gỡ lỗi cho package, bạn có thể chỉ cần cài đặt package-dbgsymhoặc, trong một số trường hợp , package-dbg. Lưu ý rằng các gói từ PPA không có các ký hiệu gỡ lỗi có sẵn từ các repos và đó là trách nhiệm của người bảo trì trong việc cung cấp một gói chứa các ký hiệu gỡ lỗi, thường là trong một gói có tên package-dbg.

Các biểu tượng gỡ lỗi được cài đặt /usr/lib/debug, mặc dù gdbtự động đọc trong các biểu tượng gỡ lỗi nếu có và bạn không cần chỉ định một cách thủ công vị trí cần tìm. Tùy thuộc vào phiên bản Gói tương thích của Debrcper, các biểu tượng gỡ lỗi có thể được đặt trong một thư mục với tên của ID xây dựng nằm bên trong .build-id( >= 9) hoặc có thể được đặt tương ứng với vị trí thực thi sẽ được cài đặt ( < 9). Ví dụ: nếu bạn đang tìm vị trí của các biểu tượng gỡ lỗi /usr/bin/zipvà phiên bản nhỏ hơn 9, thì nó sẽ ở trong đó /usr/lib/debug/usr/bin/zip.

Để xóa tất cả các biểu tượng gỡ lỗi và repo, hãy chạy sudo apt-get remove \.*-dbgsymđể xóa tất cả -dbgsymcác gói và sudo rm /etc/apt/sources.list.d/ddebs.listđể xóa các biểu tượng gỡ lỗi repo.


5
Chỉ cần lưu ý rằng PPA hiện tạo các gói dbssym. Nhưng bạn cần thêm một dòng gỡ lỗi với "main / debug", như: "deb ppa.launchpad.net/USER/PPA/ub Ubuntu main / debug"
Michael Terry

Kể từ bionic, repo ddebs không có tệp Phát hành cho bảo mật bionic
Paulo Marcel Coelho Aragão


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.