Проект установки службы Windows - включает символы отладки - PullRequest
0 голосов
/ 13 мая 2011

У меня есть служба WCF, которая размещается как служба Windows.В библиотеке сервисных кодов WCF - код обработки ошибок, я добавил что-то подобное ниже, чтобы показать подробности ошибки (сообщение + трассировка стека) в eventvwr:

    catch (Exception ex)
    {
        var logger = new EventLogExceptionLogger();
        logger.HandleException(ex); //Show exception Stack Trace in Event Viewer
    }

Чтобы разрешить трассировку стека отображать в средстве просмотра событий,Я перешел к проекту настройки службы и добавил «Вывод проекта», чтобы включить символы отладки для библиотеки служб WCF.

Теперь, когда я запускаю установку, служба успешно устанавливается, а файл WCFServiceLibrary.pdb включен в папку установки..но когда происходит какая-либо ошибка, в средстве просмотра событий не отображается трассировка стека.

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 14 мая 2011

Вам не нужны символы PDB для получения трассировки стека. Символы PDB для управляемых двоичных файлов необходимы только в том случае, если вы хотите получить локальные переменные или номера исходных строк.

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

  • Ваша учетная запись службы не имеет разрешения на запись в журнал событий. Например, если вы пишете в системный журнал событий и используете обычную учетную запись пользователя, вы не увидите никаких событий.
  • Исключение не выброшено. Убедитесь, что ваш код действительно вызывается с помощью отладчика. Ошибка могла быть обработана кодом более низкого уровня WCF.
  • В вашей реализации EventLogExceptionLogger может быть ошибка
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...