The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Unknown error на деструкторах"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Unknown error на деструкторах"  
Сообщение от kyzmichirk email on 27-Авг-08, 13:10 
Не могу решитиь следующую проблему: Программа где-то на деструкторах или освобождении ресурсов вываливается с Unknown Error Не могу понять отчего это происходит. Последнее место, после чего обрывается - деструктор класса Features. Система - FreeBsd, язык - C++ Но в нем, вроде, все в порядке. Посоветуйте отчего может быть данная ошибка, где копать????
class Features {
private:
   StringSet ftrscache;
   void Cache()
   {
       if (ftrscache.empty())
       {
          try
          {
              string req_data;
              SU(req_data = mgrExecXml("featurelist", (char*)0));
              for (mgrRequestList ftrs(req_data); !ftrs.Eof(); ftrs.Next())
                 ftrscache.insert(ftrs.Name());
          } catch (Error& e) {
                Warning(("failed to get featurelist: %s",e.Message().c_str()));
          }
      }
   }

public:
   ~Features()
   {
       BackupLog(("DestrFeature"));
   }
   bool Has(const string& ftr)
   {
       Cache();
       return (ftrscache.find(ftr) != ftrscache.end());
   }
    void AddToCache(const string& ftr)
   {
       ftrscache.insert(ftr);
   }
} features ;

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Unknown error на деструкторах"  
Сообщение от phpcoder email(??) on 27-Авг-08, 13:48 
>Не могу решитиь следующую проблему: Программа где-то на деструкторах или освобождении ресурсов
>вываливается с Unknown Error Не могу понять отчего это происходит. Последнее
>место, после чего обрывается - деструктор класса Features.

Раз вываливается, значит должен оставаться core файл. gdb вам в руки!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Unknown error на деструкторах"  
Сообщение от kyzmichirk email on 28-Авг-08, 09:54 
>>Не могу решитиь следующую проблему: Программа где-то на деструкторах или освобождении ресурсов
>>вываливается с Unknown Error Не могу понять отчего это происходит. Последнее
>>место, после чего обрывается - деструктор класса Features.
>
>Раз вываливается, значит должен оставаться core файл. gdb вам в руки!

К сожалению он при этом не дампится, если вызвать ошибку Segmentation Failed тогда дампится, а при этой нет((

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Unknown error на деструкторах"  
Сообщение от Аноним (??) on 29-Авг-08, 16:43 
>Программа где-то на деструкторах или освобождении ресурсов

Отладчик поможет найти  точное место.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Unknown error на деструкторах"  
Сообщение от dronord (??) on 04-Сен-08, 12:57 
Ужасный код.
Если делаешь ООП дизайн приложения - делай, не пиши BackupLog() и SU().
Что это за ф-ии?

Сделай конструктор тогда уж, если делаешь деструктор:

Features::Features() : ftrscache()
{}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Unknown error на деструкторах"  
Сообщение от Kyzmichirk email on 04-Сен-08, 14:17 
Конструктор здесь совсем не нужно писать, компилятор его сам сделает. Деструктор тоже, его я, чтобы отлавить ошибку вставил. А BackupLog и SU это вообще макросы, и без них никуда. Если их не использовать повторяющегося кода быде такая куча!!!!


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Unknown error на деструкторах"  
Сообщение от kyzmichirk email on 13-Окт-08, 08:18 
Если кому вдруг поможет, разобрался в чем дело. Оказалось одна из внешних функций генерировала исключение отличное от Error, а у меня исключения обрабатывались следующим образом.
try
{
...

...
}
catch(Error& e)
{
...

...
}
в итоге ошибка не обрабатывалась. Исправил на

try
{
...

...
}
catch(Error& e)
{
...

...
}
catch(...)
{
...

...
}
теперь все ок.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру