PHP - debug_backtrace() crashes - what can I do?

967 views Asked by At

I looked at the messages I could find, but didn't find an answer that appears to help. I have a routine that calls debug_backtrace() and then cycles through the elements, outputting them in a nice format for my log. This works fine in most cases.

In some calls, the system just hangs. Assuming the following:

$curStack = debug_backtrace();
foreach ($curStack as $myStackLevel) {
  $test = gettype($myStackLevel);
  // code to write out contents of $myStackLevel
  // Log that we are getting the next item
}
// Log that the foreach is done

In some cases, PHP just dies - I can see the log that it processed the current item, but it crashes on the foreach line (or at least before I can programatically see the contects of the next $myStackLevel.

In one message here, I saw something about recursive calls and using serialize, but I can't use serialize (I use PDO and had the message "You cannot serialize or unserialize PDO instances") So that's out.

The funny thing is that, if it crashes, the PHP error system still provides a complete dump of the stack.... (I found this out when I tried to use serialize).

Any help is appreciated....

Thanks,

JustMeToo

1

There are 1 answers

2
David Harkness On

Are you trying to output the contents of the object elements? It's likely that you have a recursive object graph that causes the PHP process to either overflow the stack or take too long to run.