Re[2]: dll грузиться в не верное адрессное пространство
От: alienufo Россия  
Дата: 15.08.07 08:32
Оценка:
Здравствуйте, Sergey, Вы писали:

S> ... В общем, ищите причину нестабильной работы в другом месте.


Ищу, но найти не могу. Поиск самым стандартным способом (через точки останова и анализ содержимого блоков памяти) картину не проясняет. Приложение и DLL использует код (класс для работы с блоками памяти) из одно итого же lib файла. Ошибка возникает в классе при выделении блока памяти, но это уже следствие установить причину не получается. Из выше сказанного можно было бы предположить, что проблема в классе, но нет так как само приложение, активно используя класс, исправно работает и dll также исправно работает вне этого приложения т.е. если приложение не использует класс. Получается, что источник проблемы это совместное использование одного и того же класса разными потоками (функции dll, использующее класс, вызываются в отдельном потоке). Это утверждение было бы верным если бы два разных потока использовали бы одну и туже переменную объявленную этим классом так? Но в данном случае всё совсем не так. Каждый поток работает со своим экземпляром класса и они между собой ни как не пересекаются или я не до конца понимаю механизм меж-потокового взаимодействия?

Тогда у меня вопрос в следующем: Нужно ли применять критические секции в том случае если два разных потока создают и используют собственные экземпляры одно и того же класса и тем самым обращаются к одному и тому же участку кода?
-= The Alien//Ufocomp =-
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.