Fix first line of backtrace missing in query error display

This commit is contained in:
Kijin Sung 2025-07-22 21:54:22 +09:00
parent d544365399
commit 393c847cee
3 changed files with 3 additions and 3 deletions

View file

@ -1269,7 +1269,7 @@ class DB
if (isset($backtrace[$no]))
{
$result['called_method'] = ($backtrace[$no]['class'] ?? '') . ($backtrace[$no]['type'] ?? '') . ($backtrace[$no]['function'] ?? '');
$result['backtrace'] = $this->_debug_full_stack ? array_slice($backtrace, $no) : [];
$result['backtrace'] = $this->_debug_full_stack ? array_slice($backtrace, $no - 1) : [];
}
else
{

View file

@ -148,7 +148,7 @@ $(function() {
if (data.queries[i].backtrace && data.queries[i].backtrace.length) {
backtrace = $('<ul></ul>').appendTo(description.find('li:first-child'));
for (j in data.queries[i].backtrace) {
if (data.queries[i].backtrace[j].file) {
if (j > 0 && data.queries[i].backtrace[j].file) {
backtrace.append($('<li></li>').text(data.queries[i].backtrace[j].file + ":" + data.queries[i].backtrace[j].line));
}
}

View file

@ -126,7 +126,7 @@ Database Queries
echo sprintf(' - Call Stack: %s', $query_caller) . ($query->count > 1 ? (' (×' . $query->count . ')') : '') . "\n";
foreach ($query->backtrace ?? [] as $key => $backtrace)
{
if (isset($backtrace['file']) && isset($backtrace['line']))
if ($key > 0 && isset($backtrace['file']) && isset($backtrace['line']))
{
echo sprintf(' %s line %d', $backtrace['file'], $backtrace['line']) . "\n";
}