Debugging PHP code using debug_backtrace


Most of the PHP developers debug php code in their local machine just by trial and error using “print_r”,”var_dump” and “echo”. They dont write unit tests or follow any advanced debugger like xdebug. But the problem of using these methods is you cannot fool proof your code and their might be some bugs still present in your code. Lets see how can we debug our code more effectively getting more information from the php interpreter itself. There is a nice function called debug_backtrace() is available in PHP to trace the root of an error. As the name implies, you can trace the execution of you code which produces the error. Have a look at the following code.


<?php
function processUserInput($a, $b)
{
echo divide($a,$b);
}
function divide($c, $d)
{
print_r(debug_backtrace());
}
echo processUserInput(4,0);
?>
This will output the following one

Array (
[0] => Array     (
             [file] => PHPDocument1
             [line] => 5
             [function] => divide
             [args] => Array
                 (
                     [0] => 4
                     [1] => 0
                 )
          )
[1] => Array         (
             [file] => PHPDocument1
             [line] => 14
             [function] => processUserInput
             [args] => Array                 (
                     [0] => 4
                     [1] => 0
                 )
          )
[2] => Array         (
             [file] => /home/hasin/Zend/ZendStudio-5.5.0/bin/php5/dummy.php
             [line] => 1
             [args] => Array                 (
                     [0] => PHPDocument1
                 )
              [function] => include
         )
  )

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

No comments yet.

Leave a comment

(required)

(required)