2012-01-05 1 views
3

Я построил приложение, обрабатывающая ошибку и возвращающуюся следующую Сообщи об ошибке:Отладка C# производство приложение с/без PDB файла

System.NullReferenceException: 
Object reference not set to an instance of an object. 
    at MyApp.Submit_Click(Object sender,EventArgs e) 

Я не получаю трассировку стеки, и я не вижу исключение, за исключением того, что оно неправильно выбрано.

У меня есть несколько вопросов о том, как захватить эту информацию:

  1. Я запись в exception.ToString(), который обычно дает мне исключение, внутреннее исключение, и StackTrace в моем коде. Нужен ли мне файл .pdb для получения трассировки стека или будет только .pdb добавлять номера строк?
  2. У меня есть файл .pdb, созданный с соответствующей DLL, но я считаю, что файл pdb относится к старой версии. Может ли это вызвать проблемы с получением отладочной информации и быть хуже, чем отсутствие файла .pdb?

Спасибо за помощь!

+0

разместить код в MyApp.Submit_Click(). Учитывая, что вы знаете метод, почему вы не можете просто установить точку останова и отладить его? –

ответ

3

Нет, вам не нужен pdb, чтобы увидеть трассировку стека, но вам понадобится его, чтобы получить номера строк. И, если у вас есть версия с синхронизацией, вы можете сообщить неправильные номера строк.

Ваше сообщение об ошибке не отображает трассировку стека, там просто не так много одного, так как это нажатие кнопки:

at MyApp.Submit_Click(Object sender,EventArgs e) 
Смежные вопросы