Имеется процесс, запущенный *.exe (Singleton com-server) . При закрытии этого процесса, возникает креш, после которого следует синий экран и перезагрузка.
(Исключительно на одном из серверов заказчика). Посмотреть сам синий экран не является возможным (доступ удалённый).
Вопрос: почему закрытие процесса может вызывать креш? Посдкадите в какую сторону копать.
Здравствуйте, Аноним, Вы писали:
А>Имеется процесс, запущенный *.exe (Singleton com-server) . При закрытии этого процесса, возникает креш, после которого следует синий экран и перезагрузка. А>(Исключительно на одном из серверов заказчика). Посмотреть сам синий экран не является возможным (доступ удалённый).
Т.е., процесс там запускать можно, а минидамп оттуда посмотреть — нет? Очень странно. Сверлите мозг заказчику на предмет прислать вам крэшдампов.
А>Вопрос: почему закрытие процесса может вызывать креш? Посдкадите в какую сторону копать.
Ну так сначала смотреть, что упало, потом гадать — почему. У меня вон был, например, случай, когда интеловский видеодрайвер ронял систему, если в TextOut больше 64к текста скормить...
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, <Аноним>, Вы писали:
А>Вопрос: почему закрытие процесса может вызывать креш?
Вызывается что то из kernelmode что приводит к падению.
Что и почему — это уже вам виднее, информации о том, что именно делает ваш сервис у меня нет.
А>Посдкадите в какую сторону копать.
Анализ крэшдампа.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Аноним, Вы писали:
А>Доброго времени суток.
А>Имеется процесс, запущенный *.exe (Singleton com-server) . При закрытии этого процесса, возникает креш, после которого следует синий экран и перезагрузка. А>(Исключительно на одном из серверов заказчика). Посмотреть сам синий экран не является возможным (доступ удалённый).
А>Вопрос: почему закрытие процесса может вызывать креш? Посдкадите в какую сторону копать.
А>Спасибо!
Если есть вызовы atexit() посмотреть не вызывают ли зарегистрированные функции что-нибудь у убитых объектов.
Здравствуйте, Аноним, Вы писали:
А>Доброго времени суток.
А>Имеется процесс, запущенный *.exe (Singleton com-server) . При закрытии этого процесса, возникает креш, после которого следует синий экран и перезагрузка. А>(Исключительно на одном из серверов заказчика). Посмотреть сам синий экран не является возможным (доступ удалённый).
А>Вопрос: почему закрытие процесса может вызывать креш? Посдкадите в какую сторону копать.
А>Спасибо!
Хорошо бы ещё рассказать, что за система, на чём писан сервер, что он делает/какими ресурсами пользуется и т. д. и т. п...
Как вариант, могу указать на то, что следующая программа может вызывать крэш, но не синий экран, правда, но тут уже от расклада...
#include <iostream>
class A {
public:
~A() { std::cout << "Ok" << std::endl; }
};
class B {
public:
~B() { static A a; }
} b;
int main()
{
return 0;
}
Ещё могут какие-то хуки портиться и при отгрузке ронять систему.
Можно пройтись по всей памяти процесса, пока он жив VirtualQuery, и посмотреть что там за отрезки виртуального пространства кем и зачем заняты. Всё отдампить и почитать...
Удачи, но лучше рассказать боьше подробностей
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском