note 102610 deleted from function.debug-backtrace by danbrown

From: Date: Thu, 24 Feb 2011 15:06:12 +0000
Subject: note 102610 deleted from function.debug-backtrace by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-177287@lists.php.net to get a copy of this message
Note Submitter: Anonymous ---- I have posted this in debug_print_backtrace() as well but I thought I would put it here because it applies to both functions really: Most methods of getting the backtrace and printing are susceptible to a certain runtime flaw. If the user is able to produce 100+ errors this will throw an error (max reportable error limit size reached) which in turn will throw 100+ errors on each nest of get_args() creating an infinite loop and eventually downing your server. If you are looking for a simple backtrace that (so far) will not fall to this error then use this: foreach(debug_backtrace() as $k=>$v){ if($v['function'] == "include" || $v['function'] == "include_once" || $v['function'] == "require_once" || $v['function'] == "require"){ $backtracel .= "#".$k." ".$v['function']."(".$v['args'][0].") called at [".$v['file'].":".$v['line']."]<br />"; }else{ $backtracel .= "#".$k." ".$v['function']."() called at [".$v['file'].":".$v['line']."]<br />"; } }

« previous php.notes (#177287) next »