относительно глубины следа стека в режиме отладки и деблокирования. я пришел к следующему выводу (вызов exception.ToString()):Исключительная трассировка стека
в режиме отладки вы получите полный трассировки стека с номерами строк (несколько кадров) в режиме выпуска вместо полной трассировки стека вы получите только бросание метод в блоке try (одиночный кадр) с номерами строк
- Это правда? -есть ли способ получить полный стек tracve в режиме выпуска?
привет,
Я хочу войти Сведения об исключении журнал должен включать в себя все трассировки стека (все методы в цепочке) журнал Шоуда включают номера строк каждого метода в трассировке стека.
Я пытался использовать два метода в режиме отладки и выпуска. Мне не понравились результаты:
В режиме отладки оба возвращают полную трассировку стека с номерами строк :-) в режиме освобождения возвратили только данные метода catch. один не может действительно
знать, какой звонок в блоке try не удалось
может кто-нибудь объяснить это? также, информация трассировки стека из excepyion теряется, когда ссылки на исключение из другого метода, называемого в блоке улова
благодаря
опция1: exception.ToString-
опция2: одни и те же результаты (см ниже)
calling static method receving the exception as parameter
System.Diagnostics.StackTrace exceptionStackTrace =
new System.Diagnostics.StackTrace(e, true);
System.Diagnostics.StackFrame [] exceptionStackFrames =
exceptionStackTrace.GetFrames();
foreach (System.Diagnostics.StackFrame stackFrame in exceptionStackFrames)
{
message += String.Format("at {0} {1} line {2} column {3} \n",
stackFrame.GetFileName() == null ? string.Empty : stackFrame.GetFileName(),
stackFrame.GetMethod().ToString(),
stackFrame.GetFileLineNumber(),
stackFrame.GetFileColumnNumber());
}