private static function getBacktrace()
{
$backtrace = debug_backtrace();
foreach ($backtrace as $i => $b) {
if (isset($backtrace[$i]['function'], $backtrace[$i + 1]['function']) && in_array($backtrace[$i]['function'], ['stack', 'trace', 'tick']) && $backtrace[$i + 1]['function'] === 'forward_static_call_array') {
// Remove the noise of the internal tool's functions
unset($backtrace[$i - 1], $backtrace[$i], $backtrace[$i + 1]);
continue;
}
if (!isset($backtrace[$i]) || !$backtrace[$i]['args']) {
continue;
}
$dumpOutput = static::getArgumentsDump($backtrace[$i]['args']);
$backtrace[$i]['args_dump'] = $dumpOutput;
}
return array_values($backtrace);
}