Устранение неполадок исключения NullReference в службе - PullRequest
1 голос
/ 07 сентября 2008

У меня есть служба Windows, которая выполняет различные операции мониторинга системы. Однако при выполнении проверок, связанных с SNMP, я всегда получаю исключение NullReference. Код работает нормально при запуске через пользовательский интерфейс (под моим именем пользователя и паролем), но всегда работает как служба. Я попытался запустить службу под разными учетными записями пользователей (включая мою), но безуспешно. Я пытался заменить код мониторинга SNMP вызовом командлета PowerShell get-snmp (из / n NetCmdlets), но это выдает ту же ошибку.

Приложение, с которым я работаю: PolyMon .

Есть идеи?

Ответы [ 4 ]

2 голосов
/ 07 сентября 2008

Некоторые способы отладки:

  • Есть ли какая-либо дополнительная информация в журнале событий Windows?
  • Я полагаю, что вы должны иметь возможность прослушивать какое-то событие глобального исключения, такое как Application_Exception в службах Windows. Я не могу вспомнить точное имя, но вы можете оттуда отслеживать трассировку стека дампов.
  • Вы должны быть в состоянии начать отладку проекта в сервисном режиме.

Некоторые фрагменты кода / трассировка стека / информация определенно помогут.

2 голосов
/ 07 сентября 2008

Вы можете подключить отладчик к запущенному процессу, прежде чем вызывать исключение. Это должно дать вам лучшее представление о том, что происходит с приложением.

1 голос
/ 16 сентября 2008

Я занимался такими вопросами раньше, если вы еще не нашли ответ, я предлагаю следующее:

  • Включите трассировку / ведение журнала во всех используемых вами сторонних приложениях и библиотеках, чтобы ошибки записывались в файлы вместо stdout или stderr. Часто вы найдете подсказку от них.
  • Возможно, ваша служба Windows использует некоторые сети Windows, настроенные до запуска. Это может быть связано со средой (PATH, как предлагали другие) или из-за «зависимостей» от других сервисов.

Jay .........

1 голос
/ 07 сентября 2008

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

Одна вещь, которую мы видели, которая не кажется уместной, это разница с тем, что находится на пути пользователя к системному пути.

Другая вещь, которую мы видели, касается временных файлов - служба, которую мы создавали, создавала много в каталоге windows \ temp - мы отследили это, когда он создал что-то вроде 65000 этих файлов, и таким образом достигли предела того, что каталог может содержать ...

С уважением, Chris

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...