Продолжаются мазохистские отношения с bitrix и шаблоном от аспро. 
Маленькие полезные находки помогающие понимать что откуда взялось
0. Самоочевидное. но от того не менее полезное. Показать что в какой последовательности подключалось.

<?
global $USER; 
if (defined("admin_debug") && $USER->IsAdmin()) 
{
 echo "<pre>"; 
 $tmp=get_included_files(); 
 foreach($tmp as $val)
 if ( strlen( $_REQUEST['search_file'] )>0 )
 {
  if ( !strpos( $val , $_REQUEST['search_file'] )===false ) echo "$val\n" ;
 }
else
{
 echo "$val\n" ; 
}
 echo "<pre>"; 
}
?>


1.  Показать какие глобальные переменные хочет компонент. Имеет смысл  подсовывать  туда где виджет имеет в аргументах  то что  описывается в мануалах "имя переменной где  будет лежать..."

global $USER;
if (defined("admin_debug") && $USER->IsAdmin())
foreach ($arParams as $val)
{
  if (!is_array($val))
   {   if ( isset( $GLOBALS[$val] ) )
    {
      echo  "<PRE>";
      echo  "$val\n";
      print_r($GLOBALS[$val] );
      echo  "</PRE>";
    }
  }
}
Подсунул  это  выражение  во все шаблоны  catalog.section. Узнал много нового про хентай  БДСМ  и  быдлокод призванный  тормозить  весьма шустрые  процессоры.