Reputation: 7990
Is it possible to show the full path to files in the stack trace when XDebug catches an error?
At the moment I just get this:
../stack.php:47
But I would rather see something like:
C:\inetpub\wwwroot\mysite\stack.php:47
Is this possible?
Upvotes: 3
Views: 579
Reputation: 3827
Too late but I think it will be wery useful for a lot of people :)
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;
}
}
}
}
}
And bookmarklet for this script:
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;}}}}}})();
Just create bookmark in browser and when you want to get full file path click on it ;)
Upvotes: 1
Reputation: 36784
No, but there is a mouseOver. If you hover over the filename, the whole path should pop up in a tooltip. If you want to full path there by default, you'll have to send in a feature request at http://bugs.xdebug.org.
Upvotes: 3