// Added debug function Tools::debug_backtrace()
This commit is contained in:
@@ -776,6 +776,33 @@ class ToolsCore
|
|||||||
{
|
{
|
||||||
return (Tools::dieObject($object, $kill));
|
return (Tools::dieObject($object, $kill));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function debug_backtrace($start = 0, $limit = null)
|
||||||
|
{
|
||||||
|
$backtrace = debug_backtrace();
|
||||||
|
array_shift($backtrace);
|
||||||
|
for ($i = 0; $i < $start; ++$i)
|
||||||
|
array_shift($backtrace);
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<div style="margin:10px;padding:10px;border:1px solid #666666">
|
||||||
|
<ul>';
|
||||||
|
$i = 0;
|
||||||
|
foreach ($backtrace as $id => $trace)
|
||||||
|
{
|
||||||
|
if ((int)$limit && (++$i > $limit ))
|
||||||
|
break;
|
||||||
|
$relative_file = (isset($trace['file'])) ? 'in /'.ltrim(str_replace(array(_PS_ROOT_DIR_, '\\'), array('', '/'), $trace['file']), '/') : '';
|
||||||
|
$current_line = (isset($trace['line'])) ? ':'.$trace['line'] : '';
|
||||||
|
|
||||||
|
echo '<li>
|
||||||
|
<b>'.((isset($trace['class'])) ? $trace['class'] : '').((isset($trace['type'])) ? $trace['type'] : '').$trace['function'].'</b>
|
||||||
|
'.$relative_file.$current_line.'
|
||||||
|
</li>';
|
||||||
|
}
|
||||||
|
echo '</ul>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ALIAS OF dieObject() - Display an error with detailed object but don't stop the execution
|
* ALIAS OF dieObject() - Display an error with detailed object but don't stop the execution
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ class PrestaShopExceptionCore extends Exception
|
|||||||
</style>';
|
</style>';
|
||||||
echo '<div id="psException">';
|
echo '<div id="psException">';
|
||||||
echo '<h2>['.get_class($this).']</h2>';
|
echo '<h2>['.get_class($this).']</h2>';
|
||||||
echo $this->getExentedMessage();
|
echo $this->getExtendedMessage();
|
||||||
|
|
||||||
$this->displayFileDebug($this->getFile(), $this->getLine());
|
$this->displayFileDebug($this->getFile(), $this->getLine());
|
||||||
|
|
||||||
@@ -145,14 +145,23 @@ class PrestaShopExceptionCore extends Exception
|
|||||||
{
|
{
|
||||||
$logger = new FileLogger();
|
$logger = new FileLogger();
|
||||||
$logger->setFilename(_PS_ROOT_DIR_.'/log/'.date('Ymd').'_exception.log');
|
$logger->setFilename(_PS_ROOT_DIR_.'/log/'.date('Ymd').'_exception.log');
|
||||||
$logger->logError($this->getExentedMessage(false));
|
$logger->logError($this->getExtendedMessage(false));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated 1.5.5
|
||||||
|
*/
|
||||||
|
protected function getExentedMessage($html = true)
|
||||||
|
{
|
||||||
|
Tools::displayAsDeprecated();
|
||||||
|
return $this->getExtendedMessage($html);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the content of the Exception
|
* Return the content of the Exception
|
||||||
* @return string content of the exception
|
* @return string content of the exception
|
||||||
*/
|
*/
|
||||||
protected function getExentedMessage($html = true)
|
protected function getExtendedMessage($html = true)
|
||||||
{
|
{
|
||||||
$format = '<p><b>%s</b><br /><i>at line </i><b>%d</b><i> in file </i><b>%s</b></p>';
|
$format = '<p><b>%s</b><br /><i>at line </i><b>%d</b><i> in file </i><b>%s</b></p>';
|
||||||
if (!$html)
|
if (!$html)
|
||||||
|
|||||||
Reference in New Issue
Block a user