web-dev-qa-db-fra.com

Comment générer une trace de pile en cas d'erreur

Je suis administrateur système essayant de déboguer un site Drupal. Dans mes journaux de serveur, je peux voir Drupal faire les mêmes demandes encore et encore à notre instance Solr jusqu'à ce que PHP finisse par manquer de mémoire et Apache renvoie une erreur 500.

Comment puis-je configurer Drupal pour enregistrer une trace de pile quelque part sur le disque?

19
Max

Vous pouvez utiliser le module Devel , et sélectionner l'une des options "Krumo Backtrace" qu'il fournit dans sa page de configuration à admin/config/development/devel.

Krumo Backtrace

Assurez-vous de visiter admin/config/development/logging et sélectionnez "Erreurs et avertissements" ou "Tous les messages". Si le module Syslog ou tout autre module de journalisation est activé, vous devrez peut-être le désactiver et activer le module Dblog.

backtrace config

16
amateur barista

dans votre système drupal dans la section des modules sous les modules de base, leur module syslog permet de stocker le journal sur le disque. espérons qu'il vous aidera dans ce que vous recherchez.

1
samir mankar

Le module Trace fonctionnait beaucoup mieux pour ma situation.

Il s'agit d'un outil administrateur système et développeur qui ajoute des fonctionnalités de suivi étendues pour les appels Drupal hook, les requêtes de base de données et les erreurs PHP PHP).

Certaines fonctionnalités fournies par la version 1.0 de ce module:

  • Affiche les messages de trace dans un fichier ou le syslog (sur les plates-formes Unix).
  • Traces Drupal appels de hook avec filtre facultatif et trace de pile.
  • Traces PHP avertissements et erreurs avec une trace de pile complète facultative.
  • Trace les requêtes de base de données SQL avec filtrage facultatif par type de requête.
  • La sortie de trace comprend des informations de synchronisation de niveau microseconde.
  • Les traces de pile incluent les arguments passés de la fonction dans la syntaxe PHP.
  • La sortie de débogage facultative comprend PHP superglobals et en-têtes HTTP.
  • Définit un hook permettant aux autres modules d'étendre les cibles de sortie de trace.
0
deweydb

Pour Drupal 7 et 8, le module inspect est idéal pour les backtraces.

Il peut les ajouter aux fichiers ou au journal dans la base de données Drupal plutôt que de les afficher, ce qui est utile dans les cas où Krumo backtrace, ddebug_backtrace() et d'autres solutions qui créent directement sur échec de la sortie écran. C'est le cas pour les erreurs et les exceptions qui se produisent avant le début de la sortie du rendu.

La zone de configuration du backend d'administration pour inspect contient une référence rapide Nice pour son utilisation dans le code.

0
tanius