Yanıtlar:
Uygulamaya bağlıdır. Farklı uygulamaların farklı kayıt sistemleri vardır; sisteminizde çalışan tüm programların çıktılarını içeren tek bir merkezi günlük yoktur.
Bununla birlikte, birçok program günlük dosyalarını dizine koyar /var/log
. Dosya /var/log/syslog
(veya belki de /var/log/messages
), sistem tarafından sistemlerin günlük kaydı için kullanabileceği (seçtikleri takdirde) kullanabileceği bir hizmet olan "sistem günlükçüsü" nden çıktı içerir. Ancak tüm programlar bunu kullanmaz. Çoğunlukla, normalde kullandığınız grafiksel uygulamaları değil, o dosyadaki düşük düzeyli sistem hizmetlerinden gelen iletileri bulacaksınız.
Standart günlük dosyalarının konumları hakkında daha fazla bilgi edinmek isteyebilirsiniz .
çökme dosyaları /var/log/crashes/
hataları rapor apport ile kullanmak için girer. Bir çekirdek dökümü çıkarabilir apport-unpack
, bu çekirdek dökümü gdb'ye koyabilir ve programın çökmesine neyin neden olduğunu öğrenebilirsiniz.
Tüm bunlar bir programcı olduğunuzu varsayar. Eğer değilseniz ... iyi, kazayı yine de düzeltemezsiniz!
bt full
"ah bir geri izleme ... eksik sembolleri ile ... sanırım ben hata ayıklama sembolleri yüklemeniz ve çökme yeniden üretmek için çalışacağım ..." Bir kez nasıl ayarlamak için anladım kırılma noktası ... Bununla birlikte aldığım en gelişmiş şey bu.
Bazı uygulamalarda -d, -D, --debug vb. Hata ayıklamayı açmak için kullanılabilen bayraklar bulunur. Uygulamanın man sayfasını kontrol edin ( man [my-app]
) veya böyle bir uygulama olup olmadığını görmek için uygulamayı -h bayrağıyla çalıştırın seçeneği.
Birçok GUI uygulaması $ HOME / .xsession-error içine yazar, bu yüzden çıktıları kontrol etmek için iyi bir yerdir.
maco doğru apport muhtemelen hata ayıklama iyi bilgi almak için en emin yoludur. Ancak bazen çökmeyi yakalamaz.
Her şey başarısız olursa, uygulamayı gdb'de çalıştırarak bilgileri zorlayabilirsiniz. Şöyle bir şey olurdu:
$ gdb my-app
(gdb) run
... çökmesini sağlamak için ne gerekiyorsa yap ...
(gdb) bt full
ve oradan gidin.
GDB yoluna giderseniz, daha önce de belirtildiği gibi sembolleri de yüklemek isteyeceksiniz. Kullanım önerileri için bkz. Https://wiki.ubuntu.com/DebuggingProgramCrash .
Uygulamanızı bir .desktop başlatıcı dosyasından başlatıyorsanız, bu seçeneği Terminal=true
.desktop dosyanıza ekleyin . Bu, programı çalıştırdığınızda bir terminal açacaktır, terminaldeki çıktı, programı komut satırı üzerinden çalıştırırsanız göreceğinize benzer olacaktır. Bu şekilde, GUI çöktüğünde veya kilitlendiğinde, hangi metin çıktısının ona yol açtığını görebilirsiniz.