有时我在调试模式下运行我的 Qt 项目时遇到“调试断言失败”错误(图像)。我不知道我错在哪里,因为编译器什么也没说,我不知道该怎么做才能找到我的错误。
我在 Windows Vista 下编程,使用 Qt Creator 2.4.1、Qt 4.8.1。
我的程序必须从激光设备中读取一些信息并将它们保存到一个文件中,其代码类似于:
void runFunction()
{
configure_Scanning(...);
while(...)
{
// do something
scanFunction();
// do something
}
}
这是我的“有罪”功能(我认为问题出在哪里)
void scanFunction()
{
file.open();
data = getDataFromDevice();
if(flag)
{
if(QString::compare(lineB,"")!=0)
{
QTextStream out(&file);
out << lineB << endl;
lineB = "";
}
lineA.append(data+"\t");
}
else
{
if(QString::compare(lineA,"")!=0)
{
QTextStream out(&file);
out << lineA << endl;
lineA = "";
}
lineB.prepend(data+"\t");
}
file.close();
}
其中lineA和lineB最初是两个 void QString:想法是我进行双向扫描以将信息保存在 2D 矩阵中(从 -X 到 +X,反之亦然,而 Y 转到指定的目标)。lineA记住 (-) 到 (+) 的读数;lineB记住 (+) 到 (-) 的读数。当扫描方向改变时,我将lineA(或lineB)写入文件并继续扫描。
你明白我说的话吗?你能给我一个解决方案吗?
谢谢和对不起我的英语:P