многопоточность — (Qt C ++) Ошибка после запуска большого цикла (готов платить)

Мой вопрос довольно сложно объяснить быстро. Это сложно объяснить вне контекста. Поэтому я готов заплатить кому-то, чтобы он помог мне по скайпу. Я уверен, что это просто ошибка нуба.

По сути, у меня есть цикл for, который повторяется 729 раз. Когда моя программа запускается, я получаю сообщение об ошибке, когда цикл достигает 366 или 367. Это ошибка:

Exception at... ... QTimer::isSingleShot

Указатель исключения указывает на одно из четырех мест каждый раз, когда он зависает, но он всегда указывает, когда я использую QString :: fill.

Вот снимок: http://gyazo.com/81397af78abd7be46df1bf28960e6f0d

Сначала я подумал, что это проблема тайм-аута, поэтому я переместил цикл в поток. Но я все еще получаю ошибку.

Мой заголовочный файл для темы таков:

http://gyazo.com/09fb1eafe8f42314aa918715b83a72eb

я добавил
QThread :: msleep (200);
однако каждый раз, когда он зацикливается, чтобы увидеть, была ли это проблема синхронизации, он все равно будет зависать в цикле 366 или 367 в одном из 4 мест.

Спасибо за ваше время 🙂

0

Решение

Итак, код 0xe06d7363 был кодом для исключения из Windows C-Runtime. При ловле с

try{
///code including the .fill which allocates memory
}catch(std::exception &e){
qDebug()<<e.what();
}

это оказалось bad_alloc поэтому он просто исчерпал память.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]