尝试使用其默认的当前行错误消息来调试PHP是非常糟糕的.如何在生成错误时让PHP生成回溯(堆栈跟踪)?
我发现有时debug_backtrace()不包括呼叫的线路号码.有什么理由可以解决这个问题吗?
提前致谢.
PS是的,它省略行号的调用是我自己的代码,而不是内部PHP代码.
在处理我的一个PHP项目时,我debug_backtrace()在代码文件的开头得到了一个函数<?php debug_backtrace() || die ("Direct access not permitted"); ?>.
在研究它时,我得到了一些解释,它的工作原理是:
在 Drupal 网站中调试 PHP 问题可能是快速和容易的,也可能是严重的问题。PHP 包含一个名为 debug_backtrace 的调试函数,它将打印出直到调用 backtrace 函数的代码链。
当我使用var_dump()withdebug_backtrace()我得到以下结果:
array(2) {
[0]=>
array(3) {
["file"]=>
string(61) "C:\xampp\htdocs\folder_name\templates\default\models\home.php"
["line"]=>
int(30)
["function"]=>
string(7) "include"
}
[1]=>
array(4) {
["file"]=>
string(37) "C:\xampp\htdocs\folder_name\index.php"
["line"]=>
int(146)
["args"]=>
array(1) {
[0]=>
string(61) "C:\xampp\htdocs\folder_name\templates\default\models\home.php"
}
["function"]=>
string(7) "include"
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白什么debug_backtrace()功能完全有效。
请任何人解释是受欢迎的。提前致谢。
学习链接: