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(); }
|
|
|
Записан
|
|
|
|
Пантер
|
|
« Ответ #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***
|
|
|
Записан
|
|
|
|
Пантер
|
|
« Ответ #3 : Февраль 04, 2015, 15:58 » |
|
Может, много слишком. Попробуй читать пачками.
|
|
|
Записан
|
1. Qt - Qt Development Frameworks; QT - QuickTime 2. Не используйте в исходниках символы кириллицы!!! 3. Пользуйтесь тегом code при оформлении сообщений.
|
|
|
Old
|
|
« Ответ #4 : Февраль 04, 2015, 16:22 » |
|
Может, много слишком. Попробуй читать пачками.
Скорее всего куча уже битая, до вызова load_data. Где-то ТС некорректно с ней работает.
|
|
|
Записан
|
|
|
|
Пантер
|
|
« Ответ #5 : Февраль 04, 2015, 16:25 » |
|
Может, много слишком. Попробуй читать пачками.
Скорее всего куча уже битая, до вызова load_data. Где-то ТС некорректно с ней работает. Тоже может быть, но мое предположение проверить легче и быстрее.
|
|
|
Записан
|
1. Qt - Qt Development Frameworks; QT - QuickTime 2. Не используйте в исходниках символы кириллицы!!! 3. Пользуйтесь тегом code при оформлении сообщений.
|
|
|
Old
|
|
« Ответ #6 : Февраль 04, 2015, 16:27 » |
|
Тоже может быть, но мое предположение проверить легче и быстрее.
124 Кб.
|
|
|
Записан
|
|
|
|
Firefox
Гость
|
|
« Ответ #7 : Февраль 04, 2015, 17:00 » |
|
Дело в том что если создать какой-то txt файл с символами то ошибку не выдает только на qDebug падает. Без него функция все хорошо делает. А вот именно нужная мне база никак
|
|
|
Записан
|
|
|
|
Old
|
|
« Ответ #8 : Февраль 04, 2015, 17:05 » |
|
Дело в том что если создать какой-то txt файл с символами то ошибку не выдает только на qDebug падает. Без него функция все хорошо делает. А вот именно нужная мне база никак
Ищите раньше, где-то вы не корректно работаете с памятью.
|
|
|
Записан
|
|
|
|
Alex Custov
|
|
« Ответ #9 : Февраль 04, 2015, 17:07 » |
|
Дело в том что если создать какой-то txt файл с символами то ошибку не выдает только на qDebug падает.
Битая память. Где-то в программе была ошибка работы с памятью - двойное удаление указателя, запись в неинициализированный указатель и т.п.
|
|
|
Записан
|
|
|
|
__Heaven__
|
|
« Ответ #10 : Февраль 04, 2015, 20:32 » |
|
а valgrid такие штуки не ищет?
|
|
|
Записан
|
|
|
|
Old
|
|
« Ответ #11 : Февраль 04, 2015, 21:00 » |
|
а valgrid такие штуки не ищет?
Ищет.
|
|
|
Записан
|
|
|
|
Firefox
Гость
|
|
« Ответ #12 : Февраль 05, 2015, 08:45 » |
|
Перепись базы в txt формат пока что помогла.
|
|
|
Записан
|
|
|
|
__Heaven__
|
|
« Ответ #13 : Февраль 05, 2015, 13:08 » |
|
Но это вовсе не означает, что в будущем вы снова не словите эту ошибку. В другом месте
|
|
|
Записан
|
|
|
|
Alex Custov
|
|
« Ответ #14 : Февраль 05, 2015, 14:18 » |
|
Перепись базы в txt формат пока что помогла.
Причём тут помогла-не помогла. У вас ошибка работы с памятью где-то в программе, ищите её, иначе undefined behaviour во все поля.
|
|
|
Записан
|
|
|
|
|