9.12 Einen Stacktrace ausgeben

Problem

Sie möchten wissen, was an einem bestimmten Punkt Ihres Programms und auf den Stufen zu diesem Punkt passiert.

Lösung

Nutzen Sie debug_print_backtrace( ):

function stooges() {
  print "woo woo woo!\n";
  larry();
}
function larry() {
  curly();
}
function curly() {
  moe();
}
function moe() {
  debug_print_backtrace();
}
stooges();

Das erzeugt folgende Ausgabe:

woo woo woo!
#0  moe() called at [backtrace.php:14]
#1  curly() called at [backtrace.php:10]
#2  larry() called at [backtrace.php:6]
#3  stooges() called at [backtrace.php:21]

Diskussion

Die Funktion debug_backtrace( ) wurde in PHP 4.3.0 eingeführt, und in PHP 5.0.0 wurde die praktische Funktion debug_print_backtrace( ) ergänzt. Mithilfe dieser Funktionen können Sie sich ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.