Re[3]: откуда выскакивает исключение?
От: pigeon Великобритания
Дата: 24.07.08 17:15
Оценка:
Здравствуйте, gazizik, Вы писали:

<...>
G>Исключения перехватываются стандартным методом
G>try
G>{
G> // todo smth
G>}
G>catch (DWORD derr)
G>{
G> log ("dword error");
G>}
G>catch (...)
G>{
G> log ("Unexpected error");
G>}

G>Так делается и в сервисе, и в библиотеке. Т.е. если бы исключение перехватилось, об этом бы шла запись в лог.

G>Смущает то, что винтузовое окно об ошибке не выскакивает ...

G>К сожалению, сорсов одной из библиотек у меня нет. Возможно, проблема конкретно в ней. Но если бы в ней проскачило исключение, оно бы поймалось catch (...). Ведь так? Или для этого обязательно нужно пользоваться __try __except?


А выделенной строчке поток не создается? Может он все и валит? Дебагером не пробовали коннектиться к сервису и потом на call stack глянуть и на список потоков или написать обработчик который будет dump файл делать и потом его проанализировать? Если попробовать порассуждать то AddRef просто увеличивает counter (это конечно не факт но не будем рассматривать клинические случаи ) т.е упасть оно может когда класс который реализует интерфейс не создан или уже удален.
Premature optimization is the root of all evil in programming. Donald Knuth
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.