Hatalar üzerine yığın izlemesi nasıl oluşturulur


20

Sysadmin, bir Drupal sitesinde hata ayıklamaya çalışıyorum. Sunucu günlüklerimde Drupal'ın solr örneğimize PHP'nin belleği bitene kadar tekrar tekrar aynı istekleri yaptığını ve Apache 500 hatası verdiğini görebiliyorum.

Drupal'ı diskte bir yerde yığın izlemesi günlüğe kaydedecek şekilde nasıl yapılandırabilirim?

Yanıtlar:


15

Devel modülünü kullanabilir ve admin / config / development / devel adresindeki yapılandırma sayfasında sağladığı "Krumo Backtrace" seçeneklerinden birini seçebilirsiniz.

Krumo Backtrace

Admin / config / development / logging adresini ziyaret ettiğinizden ve "Hatalar ve Uyarılar" veya "Tüm Mesajlar" ı seçtiğinizden emin olun. Syslog modülünüz veya başka bir günlüklendirme modülünüz etkinse, modülü devre dışı bırakmanız ve Dblog modülünü etkinleştirmeniz gerekebilir.

geri izleme yapılandırması


6
Bu yöntem, örneğin bir EntityMetadataWrappernesne üzerinde var olmayan bir özelliğe erişme gibi belirli istisnalar için krumo backtrace vermek başarısız bulur .
artfulrobot

3
EntityMetadataWrapper hataları için, bildirilen hatadaki satıra gidin ve bu satırdan ddebug_backtrace();hemen önce ekleyin . Elbette bunu kaldırmayı unutma!
Duncanmoo

Bu mesajlar bir yere mi kaydedilmiş veya bir günlüğe kaydedilmesi mümkün mü? Aksi takdirde üretimde işe yaramaz.
Hjulle

1

drupal sisteminizde çekirdek modüller altındaki modüller bölümünde, diskte günlüğü saklamak için syslog modülüdür. Umarım aradığına yardımcı olur.


1
Bu maalesef ölümcül hatalarda (bellek dışı hatalar gibi) çalışmaz.
stefgosselin

0

Drupal 7 ve 8 için, modül denetimi geri çekimler için mükemmeldir.

Bunları göstermek yerine dosyalara veya Drupal veritabanındaki günlüğe ekleyebilir, bu da Krumo backtrace ddebug_backtrace()ve doğrudan ekran çıktısı oluşturan diğer çözümlerin başarısız olduğu durumlarda yararlıdır . Bu, çıktı oluşturma işleminden önce meydana gelen hatalar ve istisnalar için geçerlidir.

Denetleme için yönetici arka uç yapılandırma alanı, kodda kullanımı için güzel bir hızlı başvuru içerir.


2
Ben de kurcaladım inspectdokümanlar, ama ben bir yol kullanımı o hata üzerine bir yığın izleme üretmek için görmedi. Bu yapabileceği bir şey mi?
Ken Williams

0

İz modülü benim durum için çok daha iyi çalıştı.

Bu, Drupal kanca çağrıları, veritabanı sorguları ve PHP hataları için kapsamlı izleme olanakları ekleyen bir sysadmin & geliştirici aracıdır.

1.0 sürümü bu modül tarafından sağlanan bazı özellikler:

  • İzleme iletilerini bir dosyaya veya sistem günlüğüne (Unix platformlarında) gönderir.
  • İsteğe bağlı bir filtre ve yığın izi ile Drupal kanca çağrılarını izler.
  • İsteğe bağlı tam yığın iziyle PHP uyarılarını ve hatalarını izler.
  • Sorgu türüne göre isteğe bağlı filtreleme ile SQL veritabanı sorgularını izler.
  • İzleme çıktısı mikrosaniye düzeyindeki zamanlama bilgilerini içerir.
  • Yığın izleri işlevin PHP sözdiziminde iletilen bağımsız değişkenlerini içerir.
  • İsteğe bağlı hata ayıklama çıktısı PHP süper küreselleri ve HTTP üstbilgilerini içerir.
  • Diğer modüllerin izleme çıktı hedeflerini genişletmesine izin veren bir kanca tanımlar.

1
Şimdi bu modül artık geliştirilmiyor ve görünüşe göre D7 sürümü mevcut değil… :(
tanius
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.