Trường hợp ubfox 14.04 thả tập tin lõi?


20

Tôi đã kích hoạt kích thước tệp lõi không giới hạn bằng ulimit:

ulimit -a
core file size          (blocks, -c) unlimited
...

Tôi tin rằng tôi đã kích hoạt kết xuất lõi nhưng tôi không thể tìm thấy tệp lõi trong nhà của mình, var / ... vv ...

Bạn có biết Ubuntu cấu hình vị trí kết xuất lõi không?


@djf OP không chỉ định chương trình nào gây ra các bãi rác cốt lõi. Nó có thể không phải là mã lập trình viên. Nó có thể là Unity cho tất cả chúng ta biết.
Rich Homolka

1
Làm thế nào đây là một câu hỏi SuperUser? Đây là về việc chạy một trình gỡ lỗi mà chỉ lập trình viên sử dụng. Điều này nên được di chuyển trở lại SO.
Homer6

Câu trả lời:


7

Tôi nghĩ rằng đây là một thứ nhân Linux nhiều hơn một thứ Ubuntu cụ thể. Kiểm tra

cat /proc/sys/kernel/core_pattern

Kiểm tra trang man tập tin cốt lõi


13
Điều đó không cho bạn biết nơi nó đặt tập tin. Câu hỏi có tên Ubuntu 14.04. Không rõ ràng bằng cách làm theo lệnh trong /proc/sys/kernel/core_patternđó người ta sẽ tìm thấy tệp.
jcalfee314

1
Đối với tôi, pseudofile kernel core_potype đó tham chiếu một chương trình gọi là 'apport' ... không có trang man cũng không có nhiều đầu ra hữu ích. Vì vậy, vẫn đang tìm kiếm các lõi đổ của tôi. :(
gojomo

1
apport là trình xử lý lõi máy tính để bàn linux tiêu chuẩn mà nó thường báo cáo lại cho bản phân phối của bạn.
kkron

Làm thế nào để mở thư mục này? cd /usr/share/apport/apportđừng làm việc
mrgloom

32

Theo mặc định, nhân Ubuntu được cấu hình để sử dụng apport để ghi nhật ký. Bạn có thể ghi đè lên phần này bằng cách ghi đè /proc/sys/kernel/core_pattern, kiểm tra phần "Đặt tên tệp kết xuất lõi" man coređể biết chi tiết. Ví dụ:

echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern

Apport ghi các kết xuất lõi vào /var/crash/_path_to_program.userid.crash, NHƯNG nó sẽ chỉ làm như vậy đối với các ứng dụng được cài đặt từ kho apt ub Ubuntu chính.

Thông tin thêm về apport: https://wiki.ubfox.com/Apport


Để viết các kết xuất lõi cho các chương trình không phải là gói, hãy tạo một tệp có tên ~ / .config / apport / settings với các nội dung sau: [main] unpackaged = true
greuze

Sửa đổi / Proc / sys / kernel / core_potype không hoạt động với tôi trong Ubuntu 18.04
greuze

1

Trên Ubuntu 16.04.3 LTS, bãi chứa lõi của tôi được đặt tại:

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

Vì vậy, để chạy nó vào gdb, bạn có thể chạy:

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

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.