Функции Xdebug

void var_dump( [mixed var [, …]] )

Отображение подробной информации о переменной

Эта функция подгружена Xdebug см. описание xdebug_var_dump() .


bool xdebug_break()

Издает останова для отладки клиента.

Эта функция делает отладчик перерыв на конкретной линии как будто обычный file/line был установлен на этой линии.


string xdebug_call_class()

Возврат вызова класса

Эта функция возвращает имя класса, от которого текущий function/method был вызван.

Пример:


<?php
    function fix_string($a)
    {
        echo "Called @ ".
            xdebug_call_file().
            ":".
            xdebug_call_line().
            "from ".
            xdebug_call_function();
    }

    $ret = fix_string(array('Derick'));

 ?>


Возврат:


Called @ /home/httpd/html/test/xdebug_caller.php:12 from {main}


string xdebug_call_file()

Возвращает вызывающий файл.

Эта функция возвращает имя файла, который содержит function/method, который называется текущим function/method.

Для примера см. xdebug_call_class() .


string xdebug_call_function()

Возвращает вызывающий function/method

Эта функция возвращает имя function/method, из которой текущий function/method был вызван.

Для примера см. xdebug_call_class() .


Int xdebug_call_line()

Возвращает вызывающий линии

Эта функция возвращает номер строки, которая содержит function/method, который называется текущей function/method.

Для примера см. xdebug_call_class() .


void xdebug_debug_zval( [string varname [, …]] )

Отображает информацию о переменной

Эта функция отображает структурированную информацию об одном или нескольких переменных, которые включает в себя его тип, значение и RefCount информации. Массивы рассматриваются рекурсивно со значениями. Эта функция реализуется по-разному из РНР debug_zval_dump() для того чтобы обойти проблемы, которые в этой функции. Версия Xdebug является лучше, так как он использует имя переменной для поиска переменных во внутреннюю таблицу символов и доступ ко всем свойствам напрямую, без необходимости иметь дело с прохождением переменной функции. В результате информация, что эта функция возвращает гораздо более точно, чем собственную функцию в PHP для показа zval информации.

Пример:


<?php
    $a = array(1, 2, 3);
    $b =& $a;
    $c =& $a[2];

    xdebug_debug_zval('a');
?>


Возврат:


a: (refcount=2, is_ref=1)=array (
0 => (refcount=1, is_ref=0)=1, 
1 => (refcount=1, is_ref=0)=2, 
2 => (refcount=2, is_ref=1)=3)


void xdebug_debug_zval_stdout( [string varname [, …]] )

Возвращает информацию о переменных на стандартный вывод.

Эта функция отображает структурированную информацию об одном или нескольких переменных, которые включает в себя его тип, значение и RefCount информации. Массивы рассматриваются рекурсивно со значениями. Разница с xdebug_debug_zval() что информация не отображается через веб-сервер слой API, а непосредственно отображается на стандартный вывод (так что, когда вы запустите его с Apache в режиме одного процесса он заканчится на консоле).

Пример:


<?php
$a = array(1, 2, 3);
$b =& $a;
$c =& $a[2];

xdebug_debug_zval_stdout('a');


Возврат:


a: (refcount=2, is_ref=1)=array (
0 => (refcount=1, is_ref=0)=1, 
1 => (refcount=1, is_ref=0)=2, 
2 => (refcount=2, is_ref=1)=3)


void xdebug_disable()

Следы Отключает стек

Отключить показ трассировки стека на наличие ошибок.


void xdebug_dump_superglobals()

Показывает информацию о супер глобальных

Эта функция выводит значения элементов супер глобальные, как указано в xdebug.dump .* php.ini настройки. Для примера ниже установок в php.ini являются:

Пример:


xdebug.dump.GET=*
xdebug.dump.SERVER=REMOTE_ADDR
Query string:
?var=fourty%20two&array[a]=a&array[9]=b


Возврат:
Dump $_SERVER


$_SERVER['REMOTE_ADDR'] =










string 











'127.0.0.1'





 





(length=9)








Dump $_GET


$_GET['var'] =










string 











'fourty two'





 





(length=10)










$_GET['array'] =










array 





'a'





=>





 





string 











'a'





 





(length=1) 





9 





=>





 





string 











'b'





 





(length=1)








void xdebug_enable()

Включение трассировки стека

Включить показ трассировки стека на наличие ошибок.


array xdebug_get_code_coverage()

Возвращает покрытия кода информации

Возвращает структуру, которая содержит информацию о том, какие линии были удалены в сценарии (в том числе включения файлов). Следующий пример показывает, покрытия кода для одного конкретного файла:

Пример:


<?php
    xdebug_start_code_coverage();

    function a($a) {
        echo $a * 2.5;
    }

    function b($count) {
        for ($i = 0; $i < $count; $i++) {
            a($i + 0.17);
        }
    }

    b(6);
    b(10);

    var_dump(xdebug_get_code_coverage());
   ?>


Возврат:


array
  '/home/httpd/html/test/xdebug/docs/xdebug_get_code_coverage.php' => 
    array
      5 => int 1
      6 => int 1
      7 => int 1
      9 => int 1
      10 => int 1
      11 => int 1
      12 => int 1
      13 => int 1
      15 => int 1
      16 => int 1
      18 => int 1


void xdebug_get_collected_errors( [int clean] )

Возвращает все сообщения об ошибках в версии 2.1

Эта функция возвращает все ошибки из коллекции буфер, который содержит все ошибки, которые хранились там когда коллекция ошибок была запущена с xdebug_start_error_collection() .

По умолчанию эта функция не будет очистить буфер коллекции ошибок. Если передать значение true в качестве аргумента этой функции затем буфер будет очищен.

Эта функция возвращает объект string, содержащий все собранные ошибки в формате «Xdebug tabl».


array xdebug_get_declared_vars()

Возвращает объявленные переменные.

Возвращает массив, каждый элемент которого является имя переменной, которая определена в текущей области. Параметр xdebug.collect_vars должен быть включен.

Пример:


<?php
class strings {
static function fix_strings($a, $b) {
foreach ($b as $item) {
}
var_dump(xdebug_get_declared_vars());
}
}
strings::fix_strings(array(1,2,3), array(4,5,6));
?>


Возврат:


array
  0 => string 'a' (length=1)
  1 => string 'b' (length=1)
  2 => string 'item' (length=4)


В версиях PHP 5.1, имя переменной «» не в возвращаемый массив, где вызывается функция xdebug_get_declared_vars().


array xdebug_get_function_stack()

Возвращает сведения о стеке.

Возвращает массив, который напоминает трассировку стека до настоящего момента.

Пример:


<?php
class strings {
function fix_string($a)
{
var_dump(xdebug_get_function_stack());
}

function fix_strings($b) {
foreach ($b as $item) {
$this->fix_string($item);
}
}
}

$s = new strings();
$ret = $s->fix_strings(array('Derick'));
?>


Возврат:


array
  0 => 
    array
      'function' => string '{main}' (length=6)
      'file' => string '/var/www/xdebug_get_function_stack.php' (length=63)
      'line' => int 0
      'params' => 
        array
          empty
  1 => 
    array
      'function' => string 'fix_strings' (length=11)
      'class' => string 'strings' (length=7)
      'file' => string '/var/www/xdebug_get_function_stack.php' (length=63)
      'line' => int 18
      'params' => 
        array
          'b' => string 'array (0 => 'Derick')' (length=21)
  2 => 
    array
      'function' => string 'fix_string' (length=10)
      'class' => string 'strings' (length=7)
      'file' => string '/var/www/xdebug_get_function_stack.php' (length=63)
      'line' => int 12
      'params' => 
        array
          'a' => string ''Derick'' (length=8)


array xdebug_get_headers()

Возвращает все заголовки как вызовы функции header() PHP в версии 2.1

Возвращает все заголовки, которые устанавливаются с помощью функции header() PHP или любой другой заголовок внутри PHP (например, через setcookie()) как массив.

Пример:


<?php
header( "X-Test", "Testing");
setcookie( "TestCookie", "test-value");
var_dump( xdebug_get_headers() );
?>


Возврат:


array(2) {
  [0]=>
  string(6) "X-Test"
  [1]=>
  string(33) "Set-Cookie: TestCookie=test-value"
}


string xdebug_get_profiler_filename()

Возвращает имя файла, профиля.

Возвращает имя файла, который используется для сохранения информации профиля .


integer xdebug_get_stack_depth()

Возвращает текущий уровень глубины стека.

Возвращает уровень глубины стека. Основной сценарий является уровень 0 и при каждом вызове include или функция добавляет один уровень глубины стека.


string xdebug_get_tracefile_name()

Возвращает имя файла функции трассировки.

Возвращает имя файла, который используется для отслеживания выходных данных сценария. Это полезно, когда включен xdebug.auto_trace .


bool xdebug_is_enabled()

Возвращает, включены ли трассировки стека


int xdebug_memory_usage()

Возвращает текущее использование памяти

Возвращает текущий объем памяти, который использует сценарий. Это работает только до PHP 5.2.1, если PHP был скомпилирован с—enable предел памяти. Из PHP 5.2.1 и позднее эта функция всегда доступна.


int xdebug_peak_memory_usage()

Возвращает пиковое использование памяти

Возвращает максимальный объем памяти сценария, используемый до сих пор. Это работает только до PHP 5.2.1, если PHP был скомпилирован с—enable предел памяти. Из PHP 5.2.1 и позднее эта функция всегда доступна.


none xdebug_print_function_stack( [ string message ] )

Отображает текущий стек функции.

Отображается текущий стек функции аналогично как Xdebug будет отображать в ситуации ошибки.

Аргумент «message»был введен в Xdebug 2.1.

Пример:


<?php
functionfoo( $far, $out )
{
xdebug_print_function_stack( 'Your own message' );
}
foo( 42, 3141592654 );
?>


Возврат:
( ! ) Xdebug: Your own message in /home/httpd/html/test/xdebug/print_function_stack.php on line 5
Call Stack
# Time Memory Function Location
1 0.0006 653896 {main}( ) ../print_function_stack.php : 0
2 0.0007 654616 foo( 42, 3141592654) ../print_function_stack.php : 7
3 0.0007 654736 xdebug_print_function_stack
( ‘Your own message’ )
../print_function_stack.php : 5
void xdebug_start_code_coverage( [int options] )

Запускает код покрытия

Эта функция запускает сбор информации для покрытия кода. Собираемые сведения состоят из двумерного массива с как первичный индекс исполнения файла и как второстепенные ключевые номера строк. Значение элементов представляет общее количество исполнения, которые были удалены на этой линии.

Параметры этой функции: XDEBUG_CC_UNUSED позволяет сканирование кода, чтобы выяснить, какая линия имеет исполняемый код. XDEBUG_CC_DEAD_CODE Отдел анализирует может ли код быть выполнен.


void xdebug_start_error_collection()

Начинает запись всех уведомлений, предупреждения и ошибки и предотвращает их отображения в версии 2.1.

Когда эта функция выполняется, Xdebug не заставит PHP отображать любые уведомления, предупреждения или ошибки. Вместо этого они отформатированы в соответствии правил Xdebug (например, таблицу ошибок с красным восклицательным знаком) и затем сохраняется в буфере. Это будет продолжаться до тех пор, пока вы xdebug_stop_error_collection() .

Этот буфер содержимого можно извлечь, вызвав xdebug_get_collected_errors() . Это очень полезно, если вы хотите предотвратить уничтожение макета Xdebug в мощной ошибке функции отчетности.


void xdebug_start_trace( string trace_file [, integer options] )

Запуск новой функции трассировки.

С этого момента начинают вызовов трассировки функций файла в параметре trace_file .Затем файл трассировки будет в директории как настроен параметр xdebug.trace_output_dir . В случае, если имя файла указан как первый параметр, имя задается относительно текущего рабочего каталога. Этот текущий рабочий каталог может быть другим, чем оно должно быть, пожалуйста используйте абсолютный путь, в случае, если указано имя файла. Используйте PHP функции getcwd() чтобы выяснить, какий текущий рабочий каталог.

Имя файла трассировки является «{trace_file} .xt». Если xdebug.auto_trace включен, то формат имени файла является «{filename} .xt»где «{filename}» зависит от параметра xdebug.trace_output_name . Параметр options является битами; в настоящее время существует три варианта:

XDEBUG_TRACE_APPEND (1)
делает файл трассировки, открыт в режиме добавления, вместо режима перезаписи
XDEBUG_TRACE_COMPUTERIZED (2)
создает файл с форматом, как это описано в 1 « xdebug.trace_format «.
XDEBUG_TRACE_HTML (4)
создает файл трассировки в виде HTML-таблицы

В отличие от 1 Xdebug Xdebug 2 не будет хранить вызовы функции в памяти, но всегда пишит на диск, чтобы не забивать памяти. Параметры xdebug.collect_includes , xdebug.collect_params и xdebug.collect_return сведения заносятся в файл трассировки и параметр xdebug.trace_format влияет на формат файла трассировки.


void xdebug_stop_code_coverage( [int cleanup=true] )

Остановки код покрытия.

Эта функция прекращает сбор информации, данные из памяти будут уничтожены. Если «false»в качестве аргумента, данные о покрытии кода не будут уничтожены, так что вы можете возобновить сбор информации с помощью функции xdebug_start_code_coverage() снова.


void xdebug_stop_error_collection()

Останавливает запись и все уведомления, предупреждения и ошибки. xdebug_start_error_collection()

В версии 2.1

Когда эта функция выполняется, коллекции ошибок xdebug_start_error_collection() прервана. Ошибки, хранящиеся в коллекции буфера не удаленные и доступен через xdebug_get_collected_errors() .


void xdebug_stop_trace()

Останавливает текущую трассировку функции.

Остановка трассировки функция вызывает и закрывает файл трассировки.


float xdebug_time_index()

Возвращает текущее время индекс.

Возвращает текущее время индекс с момента начала сценарий в секундах.

Пример:


<?php
echo xdebug_time_index(), "\n";
for($i = 0; $i < 250000; $i++)
{
// do nothing
}
echo xdebug_time_index(), "\n";
?>


void xdebug_var_dump( [mixed var [, …]] )

Отображает подробные сведения о переменной.

Эта функция отображает структурированную информацию о одно или более выражений, включающий его тип и значение. Массив изучен рекурсивно с ценностями. Смотрите введение
Переменные функций отображения на котором php.ini параметры влияют на эту функцию.

Пример:


<?php
ini_set('xdebug.var_display_max_children', 3 );
$c= new stdClass;
$c->foo = 'bar';
$c->file = fopen( '/etc/passwd', 'r' );
var_dump(
array(
array(TRUE, 2, 3.14, 'foo'),
'object' => $c
)
);
?>


Возврат:


array
  0 => 
    array
      0 => boolean true
      1 => int 2
      2 => float 3.14
      more elements...
  'object' => 
    object(stdClass)[1]
      public 'foo' => string 'bar' (length=3)
      public 'file' => resource(3, stream)


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML -теги и атрибуты: <a href= http://pixelcom.crimea.ua/"" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>