RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Аварийное завершение Навигатора.

Рассмотрим один из случаев.
Под аварийным завершением будем описывать ситуацию, когда приложение само собой закрывается, либо после закрытия появляется сообщение "Приложение выполнило недопустимую операцию и будет закрыто".
Как правило, единственным способом исследования таких инцидентов является анализ дампа памяти разработчиком. Однако, одной из причин может быть нехватка какого-либо компонента. В этом случае можно обойтись без анализа дампа.
Что для этого нужно.

1. Навигатор, который аварийно завершает работу при определенном действии
2. Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645).

Последовательность шагов такова.
1. Запускается Навигатор
2. Запускается Process Monitor
3. Выполняется действие, которое приводит к сбою.

В логе ProcessMonitor за время падения нужно поискать обращения к реестру, которые закончились неудачей: NOT FOUND. В ключе реестра (колонка Path) будет запись типа CLSID {идентификатор}. Нужно на машине, на которой не наблюдается сбой поискать в реестре данный ключ. В ключе будет название компонента. Далее этот компонент надо найти на проблемной машине и попробовать зарегистрировать через regsvr32.

Пример инцидента.

Навигатор аварийно завершал работу при открытии любой карточки. Через Process Monitor было выявлено, что на машине отсутствует регистрация компонента oleaut32.dll. При этом данная библиотека находилась на машине в папке Windows\system32. Регистрация устранила сбой.

В каких случаях такое может быть, ведь oleaut32.dll системный компонент?

Причина в стороннем ПО. Стороннее приложение могло при установке добавить в свою папку свою копию библиотеки oleaut32.dll и зарегистрировать её. При деинсталляции этого приложения, библиотека удаляется вместе с регистрацией.


Читать дальше

0 коммент.:

Отправить комментарий