0

我的问题很难快速解释。断章取义很难解释。因此,我愿意花钱请人通过 Skype 帮助我。我敢肯定这只是一个菜鸟错误。

基本上,我有一个循环 729 次的 for 循环。当我的程序运行时,当循环到达 366 或 367 时,我收到一个错误。这是错误:

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

异常指针每次冻结时都指向四个位置之一,但它总是指向我使用 QString::fill 时。

这是一个快照: http: //gyazo.com/81397af78abd7be46df1bf28960e6f0d

起初,我以为是超时问题,所以我把循环移到了一个线程中。但我仍然得到错误。

我的线程头文件是这样的:

http://gyazo.com/09fb1eafe8f42314aa918715b83a72eb

我添加了 QThread::msleep(200); 但是,每次循环查看是否是时间问题时,它仍会在 4 个位置之一的循环 366 或 367 处冻结。

谢谢你的时间 :)

4

1 回答 1

1

因此,0xe06d7363 代码是来自 Windows C-Runtime 的异常代码。当用

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

原来是一个bad_alloc,所以他干脆内存不足。

于 2013-10-21T05:30:00.863 回答