GNU/Linux >> Belajar Linux >  >> Linux

Mengubah lokasi core dump

Ya itu. Anda dapat mengubah /proc/sys/kernel/core_pattern untuk menentukan pathname yang digunakan untuk menghasilkan corefile. Untuk selengkapnya, lihat man core

contoh:

echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern    # `tee' instead of > so that
                                                                   # opening happens in the
                                                                   # elevated process

akan menyebabkan semua dump inti di masa mendatang dihasilkan di /tmp dan diberi nama core_[program].[pid]


Sebelum mengikuti petunjuk dalam jawaban yang diterima, sebaiknya periksa isi /proc/sys/kernel/core_pattern untuk melihat apakah sistem abrt Redhat sedang digunakan.

-> cat /proc/sys/kernel/core_pattern
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

Jika itu sedang digunakan, Anda sudah memiliki skema yang cukup ekstensif untuk mengelola file inti yang ingin Anda pahami sebelum menggantinya.

Singkatnya, abrt:

  1. letakkan file inti di sini:/var/spool/abrt/
  2. memiliki gui yang dimulai dengan perintah abrt-gui
  3. memperbesar corefile dengan informasi tambahan tentang proses yang gagal.
  4. dikonfigurasi dengan file ini:/etc/abrt/abrt-action-save-package-data.conf

Salah satu batu sandungan umum dalam menggunakannya adalah mengubah baris ini di file konfigurasi:

ProcessUnpackaged = no

Ubah itu menjadi ya untuk menangkap file inti dari proses homebrew Anda, jika tidak, ini hanya akan menangkap file inti dari program yang diinstal oleh pengelola paket.

[EDIT untuk menjawab cara menggunakan coredump] Untuk memeriksa core dump, saya melakukan ini:

cd /var/spool/abrt/XXXXXXX
gdb $(cat executable) coredump

Mungkin ada cara yang lebih baik untuk melakukannya, tetapi gdb telah membantu saya dengan baik jadi saya belum mencari cara lain. Ganti saja XXXXXXX dengan folder yang berisi file coredump Anda. Perintah gdb siap potong dan tempel.

Referensi:

Buku Redhat

Forum CentOS


Linux
  1. Perintah pembersihan cache NFS?

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Di mana parameter kernel Linux yang ada di /proc/sys didokumentasikan?

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Linux – Menautkan /proc/mnt Ke /proc/mounts?

  3. /sys/ dokumentasi?

  1. Linux – Bagaimana Menguji Apakah Perangkat Blok Apakah Hanya-Baca Dari /sys Atau /proc?

  2. /proc/[pid]/pagemaps dan /proc/[pid]/maps | linux

  3. perubahan parameter modul kernel (menggunakan /sys/module)