В .NET 4.5 вы можете использовать ExceptionDispatchInfo , чтобы восстановить ваши исключения вместо классического throw;
(убедитесь, что файлы PDB там или не отображаются номера строк):
static void A()
{
try
{
throw new Exception("A");
}
catch (Exception e)
{
ExceptionDispatchInfo.Capture(e).Throw();
}
}
Источник: blogpost . Файлы PDB не снижают производительность в Windows.