Re[4]: Crash DLL, Access violation. Не могу отловить место.
От: Kelasant  
Дата: 10.08.08 13:19
Оценка:
Здравствуйте, ioni, Вы писали:

K>>Насчет рантаймов. Внешнее приложение тоже написано на VS C++, не уверен только насчет версии. Могут ли быть такие несовместимости? Ранее эта дллка была написана на Borland C++ Builder 6.0 — проблем с рантаймом не возникало. Я и на студию-то мигририровал эту дллку, чтобы попробовать избежать возникшей проблемы. Проблемы появились после изменения внутренних механизмов работы длл-ки. Мне кажеться, и копаться надо внутри нее. Но как, если по логам исключения происходят уже после отработки дллки?


I>Вполне могут

I>более того если написаны на разных студия (вплоть до сервис паков) могут быть проблемы
I>попробуйте собрать с разными версиями рантаймов
I>может быть попробовать использовать статическую линковку

Может ли быть, что был каким-то образом нарушен стек длл-кой? Или какие-то фокусы с кучей?


I>>>экспшены возникают по всей видимости в системных функциях и успешно обрабатываются с возвратом кода ошибки

K>>Не совсем вас понял. Судя по логу, ошибки возникают где-то по пути из длл в аппликуху.
I>это как это то?

Ну, я имел в виду, что если вызывающая прога корректна, а мои экспортируемые функции доходят до ретурна без проблем, то могут быть какие-то проблемы со стеком или кучей, правда, пока просто не представляю себе как это.


K>>Прошу поподробней обьяснить, как я могу отдебагать дллку, когда она вызывается внешней апликухой, к которой нет исходников.

K>>Простите, если что, я в студии новичок.
I>Это в принципе не важно есть у вас исходники приложения или нет
I>на вкладке для отладчика указываете приложение которое загружает вашу либу и вперед

Попрошу уточнить для новичка. Это весь комплекс (вызывающая программа + моя длл) должен быть установлен и настроен в каталоге, куда компилится моя дллка, затем вызывающая программа запущена, далее я должен открыть в студии проект дллки, сделать "Дебаг"-"Атач ту процесс" и начать дебагать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.