joomla/debug/wkDebug.php

<?php 
if (!defined('wkTrace'))
    define('wkTrace', 2);   # O = inactive, 
                            # 1 = echo directly, 
                            # 2 = store in history and output with wkTraceOut

function wkTrace($tit='', $var=null) {  // echos or stores current backtrace and var as html formatted string
    if (! wkTrace or $tit === null)     // wkTrace=0 or tit null do not trace
            return;
    global $wkTraceHist, $wkTraceCnt;
    $mark = 'wkTrace' . ++$wkTraceCnt;
    $r = "<h1 style='clear: both'>$mark: $tit</h1><ul><li>";
    if ($var !== null) {
        $v = 'var=' .  print_r($var, true);
        $r .= (strlen($v) < 5000 ? $v : substr($v, 0, 3000) . '...') . '</li><li>';
    }
    ob_start();
    debug_print_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); # errors with arguments for complex arrays
    $tr = ob_get_clean();
    while (substr($tr, strlen($tr)-strlen(PHP_EOL)) == PHP_EOL)
        $tr = substr($tr, 0, strlen($tr)-strlen(PHP_EOL));    
    $r .= strtr($tr, [PHP_EOL => "</li><li>"]) . "</li></ul>";

    if (wkTrace == 2) {
        $wkTraceHist .= $r;
        # echo " $mark ";
    } else {
        echo $r; 
    }
}
           
function wkTraceOut($tit='', $redirect = null) { // echo or enqueue history 
    if (! wkTrace)
            return;
    global $wkTraceHist, $wkTraceCnt;
    if ($tit !== null)
        $wkTraceHist .= "<h1>wkTrace" . ++$wkTraceCnt . " History $tit </h1><h1> &nbsp; </h1>";  
    if ($wkTraceHist !== null) 
        if ($redirect === null)
            echo $wkTraceHist;
        else
            $redirect->enqueueMessage("<h1>wktrace redirecting begin $tit" . $wkTraceHist);
    $wkTraceHist = null;
}

function never() {
    JURI::base();
    JRoute::_('index.php?option=...', true, -1);
     (new JHtmlIcon)->edit();
     new ContentRouterRulesLegacy;
    ModArticlesCategoryHelper::getList(); 
    (new JRoute());
    \Joomla\Uri\Uri::class();
    JFactory::getUser();
    new \Joomla\Registry\Registry;
     JModuleHelper::renderModule($m);
    JFactory::getApplication();
    JModuleHelper::getModule('sdf');
    (new JTable)->store();
     (new remositoryControllerCpanel)->cpanelTask() ;
     JComponentHelper::executeComponent();
     JComponentHelper::renderComponent() ;
    #  var=Array ( [template_path] => /wkData/www/joomla36/administrator/components/com_remository/views/listCpanel/tmpl/ )
    #0 wkTrace() called at [/wkData/www/joomla36/components/com_remository/remository.class.php:28]
    #1 remositoryHTML->__construct() called at [/wkData/www/joomla36/components/com_remository/v-admin-classes/basicHTML.php:23]
    #2 remositoryBasicHTML->__construct() called at [/wkData/www/joomla36/components/com_remository/v-admin-classes/basicHTML.php:431]
    #3 remositoryAdminHTML->__construct() called at [/wkData/www/joomla36/components/com_remository/v-admin-classes/listCpanelHTML.php:22]
    #4 listCpanelHTML->__construct() called at [/wkData/www/joomla36/components/com_remository/c-admin-classes/remositoryAdmin.php:105]
    #5 remositoryAdminManager->newHTMLClassCheck() called at [/wkData/www/joomla36/components/com_remository/c-admin-classes/remositoryControllerCpanel.php:32]
    #6 remositoryControllerCpanel->listTask() called at [/wkData/www/joomla36/components/com_remository/c-admin-classes/remositoryControllerCpanel.php:37]
    #7 remositoryControllerCpanel->cpanelTask() called at [/wkData/www/joomla36/components/com_remository/c-admin-classes/remositoryAdmin.php:70]
    #8 remositoryAdminManager->__construct() called at [/wkData/www/joomla36/administrator/components/com_remository/admin.remository.php:37]
    #9 include(/wkData/www/joomla36/administrator/components/com_remository/admin.remository.php) called at [/wkData/www/joomla36/administrator/components/com_remository/remository.php:8]
    #10 require_once(/wkData/www/joomla36/administrator/components/com_remository/remository.php) called at [/wkData/www/joomla36/libraries/cms/component/helper.php:405]
    #11 JComponentHelper::executeComponent() called at [/wkData/www/joomla36/libraries/cms/component/helper.php:380]
        JComponentHelper::executeComponent();
    #12 JComponentHelper::renderComponent() called at [/wkData/www/joomla36/libraries/cms/application/administrator.php:98]
            JComponentHelper::renderComponent();
    #13 JApplicationAdministrator->dispatch() called at [/wkData/www/joomla36/libraries/cms/application/administrator.php:152]
    #14 JApplicationAdministrator->doExecute() called at [/wkData/www/joomla36/libraries/cms/application/cms.php:261]
            (new \JApplicationAdministrator)->doExecute();
    #15 JApplicationCms->execute() called at [/wkData/www/joomla36/administrator/index.php:52]
            (new JApplicationCms)->execute();
}
?>