Иногдая получаю эту ошибку "Debug Assertion Failed" при запуске моего проекта 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изначально являются двумя пустыми QString: идея состоит в том, что я делаю двунаправленное сканирование для сохранения информации в 2D-матрице (от -X до +X и наоборот, в то время как Y идет к указанной цели). строка Aзапоминает чтение от (-) до (+); строка Bзапоминает чтение от (+) до (-). Когда направление сканирования меняется, я записываю строка A(или строка B) в файл и продолжаю сканирование.
Вы понимаете, что я сказал? Не могли бы вы предложить мне решение?
Спасибо и извините за мой английский: P