Я создал симпатичный маленький виджет, который позволяет людям из нашего Центра управления запускать ADPlus.exe для сбора аварийных дампов при сбое пулов приложений IIS 6. Это здорово для нас. Они захватывают криминалистику без каких-либо глубоких знаний о WinDBG, и я могу спать всю ночь, а утром анализирую их.
Обратной стороной является то, что мне пришлось развернуть его на сотнях серверов. Я бы предпочел развернуть его на одном центральном сервере и вызвать процесс удаленно. Это означает удаленный запуск командной строки, например:
"C:\Program Files (x86)\Debugging Tools for Windows (x86)\adplus.exe" -crash -FullOnFirst -o D:\Captures -p 23740
А перед этим мне также нужно определить PID отказавшего рабочего процесса.
Лучшее предложение?
Вы можете захотеть прочитать
Блоги MSDN: Как: собрать аварийный дамп рабочего процесса IIS в IIS 7.0 (и выше)
Он говорит о том, как ADPlus
ограничено:
потому что ADPLUS не может автоматически подключаться к новому процессу. Вы можете присоединить ADPLUS только к процессу, который уже запущен на машине.
Это становится большим ограничением для рабочего процесса IIS, поскольку рабочий процесс может перезапускаться или завершаться в зависимости от того, что настроено в параметрах пула приложений. Еще одна проблема с ADPLUS заключается в том, что он запускает новое окно для cdb.exe, и кто-то может случайно закрыть это окно, что в конечном итоге может убить сам рабочий процесс.
И вместо этого вы захотите использовать Диагностика отладки, или просто довольствуйтесь этим фактом с помощью дампа сброшенных процессов Windows, и вы можете забрать их в любое время:
я понимаю, что это полностью обходит ваш вопрос; но, надеюсь, в хорошем смысле.