Мой вопрос довольно сложно объяснить быстро. Это сложно объяснить вне контекста. Поэтому я готов заплатить кому-то, чтобы он помог мне по скайпу. Я уверен, что это просто ошибка нуба.
По сути, у меня есть цикл for, который повторяется 729 раз. Когда моя программа запускается, я получаю сообщение об ошибке, когда цикл достигает 366 или 367. Это ошибка:
Exception at... ... QTimer::isSingleShot
Указатель исключения указывает на одно из четырех мест каждый раз, когда он зависает, но он всегда указывает, когда я использую QString :: fill.
Вот снимок: http://gyazo.com/81397af78abd7be46df1bf28960e6f0d
Сначала я подумал, что это проблема тайм-аута, поэтому я переместил цикл в поток. Но я все еще получаю ошибку.
Мой заголовочный файл для темы таков:
http://gyazo.com/09fb1eafe8f42314aa918715b83a72eb
я добавил
QThread :: msleep (200);
однако каждый раз, когда он зацикливается, чтобы увидеть, была ли это проблема синхронизации, он все равно будет зависать в цикле 366 или 367 в одном из 4 мест.
Спасибо за ваше время 🙂
Итак, код 0xe06d7363 был кодом для исключения из Windows C-Runtime. При ловле с
try{
///code including the .fill which allocates memory
}catch(std::exception &e){
qDebug()<<e.what();
}
это оказалось bad_alloc
поэтому он просто исчерпал память.
Других решений пока нет …