Развертывание.PDB файлы в IIS. Какое-либо преимущество?

Тем не менее, вы также должны прочитать ответ Elias Mårtenson в отношении для множественного использования Android для «нуля» . Существует проблема с интерпретацией определенных значений, таких как «ноль».

24
задан CodingWithSpike 19 December 2008 в 17:00
поделиться

3 ответа

Если Вы регистрируете исключения, то развертывание файлов PDB гарантирует, чтобы исключения включали номера строки (так , Steven A. Lowe сообщил мне о многих случаях;))

27
ответ дан Community 28 November 2019 в 22:26
поделиться

Я всегда полагал, что .pdb файлы только использовались отладчиком. Если время выполнения всегда проверяет на них для получения информации об отладке, которая должна означать более медленное выполнение при выдаче исключения, потому что это должно считать .pdb, правильно?

, Таким образом, я сделал быстрый тест:

using System;
using System.Text;

namespace PdbSpeedTest
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime start = DateTime.Now;
            try
            {
                Program p = new Program();
                p.Looper(0);
            }
            catch (NotImplementedException e)
            {
                Console.WriteLine(e.StackTrace);
            }
            TimeSpan span = DateTime.Now - start;
            Console.WriteLine(span.TotalMilliseconds.ToString());
        }

        internal void Looper(int x)
        {
            try
            {
                if (x < 100)
                    Looper(x + 1);
                else
                    throw new NotImplementedException("blah!");
            }
            catch (NotImplementedException e)
            {
                throw new NotImplementedException("blah!", e);
            }
        }
    }
}

Это просто рекурсивно вызывает 100 уровней глубоко и выдает исключение. Теперь для результатов во время выполнения:

Выполнение как отладка сборка с [1 114] .pdb в той же папке:

C:\Work\PdbSpeedTest\bin\Debug>PdbSpeedTest.exe
   at PdbSpeedTest.Program.Looper(Int32 x) in C:\Work\PdbSpeedTest\Program.cs:line 37
   at PdbSpeedTest.Program.Main(String[] args) in C:\Work\PdbSpeedTest\Program.cs:line 16
31.2504

Выполнение как отладка сборка без [1 116] .pdb:

C:\Work\PdbSpeedTest\bin\Debug>PdbSpeedTest.exe
   at PdbSpeedTest.Program.Looper(Int32 x)
   at PdbSpeedTest.Program.Main(String[] args)
15.6252

Выполнение как сборка выпуска с [1 118] .pdb:

C:\Work\PdbSpeedTest\bin\Release>PdbSpeedTest.exe
   at PdbSpeedTest.Program.Looper(Int32 x) in C:\Work\PdbSpeedTest\Program.cs:line 37
   at PdbSpeedTest.Program.Main(String[] args) in C:\Work\PdbSpeedTest\Program.cs:line 16
31.2504

Выполнение как сборка выпуска без [1 120] .pdb:

C:\Work\PdbSpeedTest\bin\Release>PdbSpeedTest.exe
   at PdbSpeedTest.Program.Looper(Int32 x)
   at PdbSpeedTest.Program.Main(String[] args)
15.6252

Они были выполнены от регулярной старой командной строки, не в Visual Studio. Таким образом, .pdb определенно добавляет информацию об отслеживании стека и замедляет обработку исключений. Очень интересный!

39
ответ дан CodingWithSpike 28 November 2019 в 22:26
поделиться

развертывание .pdb файлы полезно, если Вы хотите удаленно отладить свое приложение.

существует статья MSDN здесь объяснение процесса

8
ответ дан Dav Evans 28 November 2019 в 22:26
поделиться
Другие вопросы по тегам:

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