使用XDebug堆栈跟踪的完整文件路径

时间:2012-04-20 09:15:29

标签: xdebug

当XDebug捕获错误时,是否可以显示堆栈跟踪中文件的完整路径?

目前我刚刚得到这个:

  

../ stack.php:47

但我宁愿看到类似的东西:

  

C:\的Inetpub \ wwwroot的\ mysite的\ stack.php:47

这可能吗?

2 个答案:

答案 0 :(得分:3)

不,但有一个mouseOver。如果将鼠标悬停在文件名上,则应在工具提示中弹出整个路径。如果您希望默认使用完整路径,则必须在http://bugs.xdebug.org处发送功能请求。

答案 1 :(得分:1)

太晚了,但我认为这对很多人来说非常有用:)

var xtable = document.getElementsByClassName('xdebug-error');
if(xtable.length){
    for(var k=0;k<xtable.length;k++){
        var xbody = xtable[k].getElementsByTagName('tbody');
        var xtr = xbody[0].getElementsByTagName('tr');
        for(var i=0;i<xtr.length;i++){
        var xtd = xtr[i].getElementsByTagName('td');
        for(var j=0;j<xtd.length;j++){
                if(xtd[j].title){
                    xtd[j].data = xtd[j].innerHTML;
                    xtd[j].innerHTML = xtd[j].title;
                    xtd[j].title = "";
                }else if(xtd[j].data){
                    var data = xtd[j].data;
                    xtd[j].data = xtd[j].innerHTML;
                    xtd[j].innerHTML = data;
                }
        }
        }
    }
}

此脚本的书签:

javascript:(function(){var%20xtable%20=%20document.getElementsByClassName(%27xdebug-error%27);if(xtable.length){for(var%20k=0;k<xtable.length;k++){var%20xbody%20=%20xtable[k].getElementsByTagName(%27tbody%27);var%20xtr%20=%20xbody[0].getElementsByTagName(%27tr%27);for(var%20i=0;i<xtr.length;i++){var%20xtd%20=%20xtr[i].getElementsByTagName(%27td%27);for(var%20j=0;j<xtd.length;j++){if(xtd[j].title){xtd[j].data%20=%20xtd[j].innerHTML;xtd[j].innerHTML%20=%20xtd[j].title;xtd[j].title%20=%20%22%22;}else%20if(xtd[j].data){var%20data%20=%20xtd[j].data;xtd[j].data%20=%20xtd[j].innerHTML;xtd[j].innerHTML%20=%20data;}}}}}})();

只需在浏览器中创建书签,当您想要获取完整文件路径时点击它;)