Нечитабельный var_dump в Firebug, когда xdebug включен

Я думаю, что люди действительно переоценивают стоимость производительности выдавания исключения. Да, существует хит производительности, но это является относительно крошечным.

я запустил следующий тест, бросив и ловя миллион исключений. Потребовалось приблизительно 20 секунд на моем Core 2 Duo Intel , 2.8  GHz. Это - о 50K исключениях секунда. При броске даже небольшой части этого у Вас есть некоторые проблемы архитектуры.

Вот мой код:

using System;
using System.Diagnostics;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch sw = Stopwatch.StartNew();
            for (int i = 0; i < 1000000; i++)
            {
                try
                {
                    throw new Exception();
                }
                catch {}
            }
            Console.WriteLine(sw.ElapsedMilliseconds);
            Console.Read();
        }
    }
}

14
задан hakre 24 July 2012 в 11:31
поделиться

2 ответа

Вы можете отключить Xdebug- var_dump () -overloading, установив для xdebug.overload_var_dump значение false . Затем вы можете использовать var_dump () , когда вам не нужно дополнительное HTML-форматирование, и xdebug_var_dump () , когда вам требуется полностью отформатированный вывод отладки.

Но, как я уже писал, в моем комментарии выше, если вы используете FirePHP , вы можете просто позволить FirePHP отформатировать вывод в консоли Firebug:

fb($variable, FirePHP::DUMP) // or
FB::dump('Key', $variable) // or
$firephp->dump('Key', $variable); // where $firephp is your FirePHP instance
9
ответ дан 1 December 2019 в 09:13
поделиться

Решение Майка Б,

ini_set('xdebug.overload_var_dump', 0);

не работает с моей установкой.

Но я могу сделать это, чтобы подавить HTML:

ini_set('html_errors', 0);

9
ответ дан 1 December 2019 в 09:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: