Как мне получить значения переменных в моем дампе трассировки стека?

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

Ниже приведен код, который я использую для сброса его в электронное письмо:

UtilityClass.SendEmail(shortNTID,
                       "admin@mydomain.com",
                       new string[] { "support@mydomain.com" },
                       "MyApplication error has occured for user: " +
                            shortNTID + " (Main).",
                       "Message: " + ex.Message.ToString() +
                       " Source: " + ex.Source.ToString() +
                       " Target Site: " + ex.TargetSite.ToString() +
                       " Stack Trace: " + ex.StackTrace.ToString());

И вот результат в электронном письме:

Сообщение: Указанное приведение неверно. Источник: MyApplication Целевой сайт: Void FindFormAndActivate (MyApplication.MDIParentForm, System.String, System.Object) Трассировка стека: в MyApplication.UtilityClass.FindFormAndActivate (MDIParentForm frmMDIParentForm, String formName, параметр объекта) в MyApplication.DashboardAlerts.NavigateToAssignment () в MyApplication.DashboardAlerts.utAlerts_MouseClick (отправитель объекта, MouseEventArgs e) в System.Windows.Forms.Control.OnMouseClick (MouseEventArgs e) в System.Windows.Forms.Control.WmMouseUp (сообщение & m, кнопка MouseButtons, щелчки Int32) в System.Windows.Forms.Control.WndProc (сообщение & m) в System.Windows.Forms.Control.ControlNativeWindow.OnMessage (сообщение & m) в System.Windows.Forms.Control.ControlNativeWindow.WndProc (сообщение & m) в System.Windows.Forms.NativeWindow.Callback (IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

РЕДАКТИРОВАТЬ

В некоторых ответах предлагалось, чтобы я сам добавил значения переменных в электронное письмо. Но как мне получить эти значения? Этот фрагмент кода, который отправляет электронное письмо, не находится в методе, который дает сбой. Это код, который запускается каждый раз при возникновении исключения. Если исключение не обрабатывается и не исправляется, я позволяю ему всплывать в верхнюю часть потока а-ля Application.ThreadException + = new ThreadExceptionEventHandler (HandleError); и метод HandleError это тот, кто делает этот электронный звонок. Он не знает, какие переменные или параметры были для метода, вызвавшего исключение.

5
задан richard 2 June 2011 в 20:13
поделиться