Russian Qt Forum
Ноябрь 25, 2024, 18:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: readAll() SIGSERV  (Прочитано 8985 раз)
Firefox
Гость
« : Февраль 04, 2015, 15:02 »

Здравствуйте. у меня падает программа при попытки из базы в формате .csv(документ exel) считать данные. работаю в системе МСВС. выдает SIGSERV ошибку.Класс с функцией подключила в свою программу, в  Windows этот класс работал без ошибок. Так же возникает SIGSERV именно в этом классе на qDebug()<<....
Код:
int read_BD::load_data(QString fliename)
{
    //qDebug()<<fliename;
    QFile fp(fliename);
    if(!fp.exists())
        return 0;
    if(!fp.open(QIODevice::ReadOnly |QIODevice::Text))
        return 0;
    QString dataa;
    int count=0;
    QTextStream in(&fp);
    dataa=in.readAll();
    //qDebug()<<dataa.size();
    QStringList lst=dataa.split("\n");
    parseData(lst);

    //qDebug()<<count;
    fp.close();
 
}
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 04, 2015, 15:06 »

На какой именно строчке падает? Файл какого размера?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Firefox
Гость
« Ответ #2 : Февраль 04, 2015, 15:54 »

Падает на строке readAll ().
Файл 124.4кб
Также в выводе пишет : ***glibc detected *** free(): invalid next size (fast): 0x0a28a218***
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Февраль 04, 2015, 15:58 »

Может, много слишком. Попробуй читать пачками.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #4 : Февраль 04, 2015, 16:22 »

Может, много слишком. Попробуй читать пачками.
Скорее всего куча уже битая, до вызова load_data.
Где-то ТС некорректно с ней работает.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Февраль 04, 2015, 16:25 »

Может, много слишком. Попробуй читать пачками.
Скорее всего куча уже битая, до вызова load_data.
Где-то ТС некорректно с ней работает.
Тоже может быть, но мое предположение проверить легче и быстрее.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #6 : Февраль 04, 2015, 16:27 »

Тоже может быть, но мое предположение проверить легче и быстрее.
124 Кб. Улыбающийся
Записан
Firefox
Гость
« Ответ #7 : Февраль 04, 2015, 17:00 »

Дело в том что если создать какой-то txt файл с символами то ошибку не выдает только на qDebug падает. Без него функция все хорошо делает. А вот именно нужная мне база никак
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Февраль 04, 2015, 17:05 »

Дело в том что если создать какой-то txt файл с символами то ошибку не выдает только на qDebug падает. Без него функция все хорошо делает. А вот именно нужная мне база никак
Ищите раньше, где-то вы не корректно работаете с памятью.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #9 : Февраль 04, 2015, 17:07 »

Дело в том что если создать какой-то txt файл с символами то ошибку не выдает только на qDebug падает.

Битая память. Где-то в программе была ошибка работы с памятью - двойное удаление указателя, запись в неинициализированный указатель и т.п.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #10 : Февраль 04, 2015, 20:32 »

а valgrid такие штуки не ищет?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #11 : Февраль 04, 2015, 21:00 »

а valgrid такие штуки не ищет?
Ищет.
Записан
Firefox
Гость
« Ответ #12 : Февраль 05, 2015, 08:45 »

Перепись базы в txt формат пока что помогла.
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #13 : Февраль 05, 2015, 13:08 »

Но это вовсе не означает, что в будущем вы снова не словите эту ошибку. В другом месте
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #14 : Февраль 05, 2015, 14:18 »

Перепись базы в txt формат пока что помогла.

Причём тут помогла-не помогла. У вас ошибка работы с памятью где-то в программе, ищите её, иначе undefined behaviour во все поля.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.