Thỉnh thoảng Tôi gặp lỗi "Lỗi xác nhận gỡ lỗi không thành công" đang chạy dự án Qt của tôi ở chế độ gỡ lỗi (image). Tôi không biết tôi đã sai ở đâu vì trình biên dịch không nói gì cả và tôi không biết phải làm gì để tìm lỗi của mình.Xác nhận gỡ lỗi Không thành công: _CrtIsValidHeapPointer (pUserData)
Chương trình của tôi trong Windows Vista, sử dụng Qt Creator 2.4.1, Qt 4.8.1.
chương trình của tôi có đọc một số thông tin từ một thiết bị laser và lưu chúng vào một tập tin với một mã tương tự như sau:
void runFunction()
{
configure_Scanning(...);
while(...)
{
// do something
scanFunction();
// do something
}
}
và đây là của tôi "buộc tội" chức năng (nơi tôi nghĩ rằng vấn đề là)
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();
}
đâu Linea và lineB là bước đầu hai khoảng trống QString: ý tưởng là tôi thực hiện một chức năng quét hai chiều để lưu thông tin trong một ma trận 2D (fro m -X đến + X và ngược lại, trong khi Y đi đến một mục tiêu xác định). lineA ghi nhớ (-) đến (+) đọc; lineB ghi nhớ (+) để (-) đọc. Khi hướng quét thay đổi, tôi viết lineA (hoặc lineB) vào tệp và tôi tiến hành quét.
Bạn có hiểu những gì tôi đã nói không? Bạn có thể đề xuất cho tôi một giải pháp không?
Cảm ơn và xin lỗi vì tiếng Anh của tôi: P
nhấp vào Thử lại trong hộp thoại để gỡ lỗi chương trình, giống như nó nói. Sau đó kiểm tra ngăn xếp cuộc gọi hoặc thêm nó vào câu hỏi này và bạn sẽ nhận được một ý tưởng tốt hơn về những gì sai. Trên một sidenote, liên tục mở và đóng một tập tin có lẽ là không cần thiết và gây ra một số chi phí. – stijn
Tôi biết rằng việc mở và đóng tệp trên mỗi bước không phải là chiến lược tốt nhất, nhưng tôi phải làm điều đó để ngăn chặn mọi mất mát dữ liệu trong trường hợp gián đoạn bất ngờ. –
không phải là những gì 'flush()' làm gì? – stijn