Название: Сегментация при повторной загрузке плагинов Отправлено: Fregloin от Август 16, 2012, 14:22 Добрый день. Столкнулся с такой вот бедой.
В приложении нужно загружать/выгружать плагины. Сейчас плагины используются только в режиме редактора. По умолчанию програ при запуске переходит в режим редактора. Плагины загружаются нормально, все работает. Потом перехожу в режим исполнения, плагины выгружаются. Все нормально. Теперь нужно перейти опять в режим редактора, и при загрузке плагина прога валится в сегментацию. Привожу код. Код: void CArmEditor::loadPlugins() Логика режима работы программы при смене с редактора на исполнение и назад удаляется/создается заново. Есть пока три объека-логики: Редактор и два исполнительных. При переключении с редактора на исполнение, редактор удаляется (выгружаются плагины) и создается новый объект логики исполенения программы. И наоборот, при переключении с исполенни в редактирование, удаляется исполнитель, создается редактор (грузятся плагины). По умолчанию при старте программы создается редактор. Название: Re: Сегментация при повторной загрузке плагинов Отправлено: Fregloin от Август 16, 2012, 14:39 Так, нашёл причину вылета, но не могу понять как так получается.
У меня в папке с плагинами лежит две библиотчески, одна загружается нормально, другая не загружается (в первый раз!) изза undefined reference (тут еще нужно разбираться, что то не учел при сборке, ну да ладно, это сейчас не так важно). Так вот, при первой загрузке некорретный плагин не грузится, о чем выдается соотвествующее предупреждение в консоль. А вот при втором разе загрузке плагинов, некорректный плагин почему то грузится! (метод QPluginLoader::load()), и ошибок не выдает при загруке. Но при попытке поулчения корневого объекта их плагина вылетает сегментация... очень странно. |