Helping ordinary people create extraordinary websites!
HOME TUTORIALS SCRIPTS WEB HOSTING BLOG FORUM
Get Our Newsletter
Your Email:
Webmaster Blog

Debugging PHP code using debug_backtrace

by Hasin Hayder


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
        )

)




Related Posts
» Debugging CakePHP applications in Zend Studio for Eclipse
» WebGrind: web-based frontend for XDebug PHP profiling
» Debugging PHP with Firebug and FirePHP
» Debugging HTTP with Fiddler
» The ultimate PHP web development environment, part 1
 


This post has One Response so far.
  1. andPHP.com Says:
    February 29th, 2008 at 3:34 pm

    Using debug_backtrace to speed up debuging process…

    Hasin Hayder from Developer Tutorials wrote this neat post about using debug_backtrace. It could help you debug your code more efficiently and save you hours of dumping variables and testing functions, not to mention saving you from pulling your hair…

Leave a Reply

Ask A Question
characters left.