Ubuntu 14.04 çekirdek dosyaları nereye bırakır?


20

Ulimit kullanarak sınırsız bir çekirdek dosya boyutunu etkinleştirdim:

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

Bir çekirdek dökümü tetiklediğime inanıyorum, ancak ana dosyayı evimde bulamıyorum, var / ... etc ...

Ubuntu'nun çekirdek döküm yerini nerede yapılandırdığını biliyor musunuz?


@djf OP hangi programın çekirdek dökümlerine neden olduğunu belirtmedi. Programcıların kodu olmayabilir. Bildiğimiz her şey için Birlik olabilir.
Zengin Homolka

1
Bu bir Süper Kullanıcı sorusu nasıl? Bu, sadece programcıların kullandığı bir hata ayıklayıcıyı çalıştırmakla ilgilidir. Bu SO'ya geri taşınmalıdır.
Homer6

Yanıtlar:


7

Bunun belirli bir Ubuntu olayından daha fazla Linux çekirdeği olabileceğini düşünüyorum. Çıkış yapmak

cat /proc/sys/kernel/core_pattern

Check out çekirdek dosya adam sayfasını


13
Bu dosyayı nereye koyduğunu söylemez. Ubuntu 14.04 adlı bir soru. Bir /proc/sys/kernel/core_patterndosyayı bulmak nerede komutunu izleyerek hiç belli değil .
jcalfee314

1
Benim için bu core_pattern çekirdek sözde dosyası, 'apport' adında bir programa atıfta bulundu. Öyleyse hala terkedilmiş çekirdeklerimi arıyorum. :(
gojomo

1
apport, genellikle dağıtımınıza geri bildiren standart linux masaüstü çekirdek işleyicisidir.
kkron 09:15

Bu klasör nasıl açılır? cd /usr/share/apport/apportçalışma
mrgloom

32

Varsayılan olarak, Ubuntu çekirdeği, coredumps'ı günlüğe kaydetmek için apport kullanmak üzere yapılandırılmıştır. Bunu üzerine yazarak geçersiz kılabilir /proc/sys/kernel/core_pattern, man coreayrıntılar için "Çekirdek döküm dosyalarının adlandırılması" bölümüne bakın. Örneğin:

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

Apport, çekirdek dökümlerini yazdı /var/crash/_path_to_program.userid.crash, ancak bunu yalnızca ana ubuntu apt havuzlarından yüklenen uygulamalar için yapacak.

Apport hakkında daha fazla bilgi: https://wiki.ubuntu.com/Apport


Paket olmayan programlar için de çekirdek dökümler yazmak için , aşağıdaki içerikleri içeren ~ / .config / apport / settings adlı bir dosya oluşturun : [main]
unpackaged

Değiştirme / proc / sys / kernel / core_pattern Ubuntu 18.04 benim için değil işi yok
Greuze

1

Ubuntu 16.04.3 LTS'de, çekirdek dökümüm şu konumda bulunuyordu:

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

Yani, koşmak için gdbkoşabilirsiniz:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.