0

我尝试在循环中运行 QtConcurrent::run(),但程序崩溃:(我正在使用 libsmbclient)

void Scanner::scan()
{
    for(int i=0;i<ipList.length();i++)
    {
        QtConcurrent::run(this,&Scanner::scanThread,i);
    }
}
void Scanner::scanThread(int i)
{
int dh;
QString ip;
ip="smb://"+ipList[i]+"/";
dh= smbc_opendir(ip.toAscii());  // debugger points to this location
if(dh<0)
    return;
emit
        updateTree(i,dh);         // on commenting this line, it still crashes 
}

错误:

talloc: access after free 错误 - 第一个 free 可能位于 ../lib/util/talloc_stack.c:103
Badtalloc 魔术值 - access after free
程序意外完成。

4

0 回答 0