it-swarm.com.de

Warum ist ddebug_backtrace leer?

Ich benutze das Modul Devel seit ein paar Jahren, aber jedes Mal, wenn ich versuche, eine Rückverfolgung zu erhalten, stoße ich auf Probleme. Ich erinnere mich, dass ich es einmal zum Laufen gebracht habe, aber ich erinnere mich nicht, wie.

Es scheint, als ob die Verwendung von dpm(ddebug_backtrace()); den Trick machen sollte. Ich habe es ohne Argument versucht, TRUE und FALSE, und ich habe auch versucht, die dpm-Funktion zu entfernen, in die es eingeschlossen ist.

Ich habe dpm-Aufrufe direkt über und unter diesem Code, die Variablen entsprechend drucken, aber das Beste, was ich aus dpm(ddebug_backtrace()); heraus bekomme, ist eine leere Zeile in der Krumo-Ausgabe.

Vorschläge werden sehr geschätzt.

6
Darvanen

Wenn Sie die Quelle sehen, können Sie sehen, dass ddebug_backtrace () nur Werte zurückgibt, wenn die Variable error_level auf 1 oder höher gesetzt ist.

// Show message if error_level is ERROR_REPORTING_DISPLAY_SOME or higher.
// (This is Drupal's error_level, which is different from $error_level,
// and we purposely ignore the difference between _SOME and _ALL,
// see #970688!)
if (variable_get('error_level', 1) >= 1) {

Eine Möglichkeit, Werte zurückzugeben, besteht darin, entweder die Fehlerstufe von admin/config/development/logging zu ändern oder sie vorübergehend im Code wie folgt zu ändern:

variable_set('error_level', 1);
dpm(ddebug_backtrace(TRUE));
variable_set('error_level', 1);

Wie Ian Bullock sagt, würde debug_backtrace () Werte zurückgeben, da die Variable ignoriert wird und der Inhalt im Wesentlichen der gleiche ist. Ddebug_backtrace () gibt jedoch eine besser lesbare Ausgabe zurück.

3
Mori Sugimoto

Für mich musste der Befehl ohne das zusätzliche d aufgerufen werden

dpm(debug_backtrace());

7
Ian Bullock

In den Fällen, in denen ich gesagt habe: "WTF! Wo ist meine dpm-Ausgabe?", War es entweder:

  1. Ein Berechtigungsproblem mit einem imitierten Benutzer ohne access devel information Perm.
  2. Eine Themenseite, auf der die Variable $messages Nicht ausgegeben wird.

Ich hoffe, das hilft.

1
Shawn Conn