कभी कभी मैं इस डिबग मोड में मेरी क्यूटी परियोजना (image) चल रहा "डीबग अभिकथन विफल" त्रुटि मिलती है। मुझे नहीं पता कि मैं कहां गलत हूं क्योंकि संकलक कुछ भी नहीं कहता है और मुझे नहीं पता कि मेरी त्रुटि खोजने के लिए क्या करना है।डीबग अभिकथन में विफल: _CrtIsValidHeapPointer (pUserData)
मैं क्यूटी निर्माता 2.4.1, क्यूटी 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();
}
कहाँ लीनिया और lineB शुरू में दो शून्य QString हैं: विचार यह है कि मैं (एक द्विदिश स्कैनिंग एक 2D मैट्रिक्स में जानकारियां को बचाने के लिए इधर-उधर कर एम-एक्स से + एक्स और वाइसवर्सा, जबकि वाई निर्दिष्ट लक्ष्य पर जाता है)। लाइन ए (-) से (+) पढ़ने को याद करता है; लाइन बी (+) से (-) पढ़ने को याद करता है। जब स्कैनिंग दिशा बदलती है, तो मैं फ़ाइल में लाइन ए (या लाइन बी) लिखता हूं और मैं स्कैनिंग के साथ आगे बढ़ता हूं।
क्या आप समझते हैं कि मैंने क्या कहा? क्या आप मुझे समाधान सुझा सकते हैं?
धन्यवाद और मेरी अंग्रेजी के लिए खेद है: पी
प्रोग्राम को डीबग करने के लिए संवाद में पुनः प्रयास करें, जैसा कि यह कहता है। फिर कॉल स्टैक की जांच करें या इसे इस प्रश्न में जोड़ें और आपको गलत क्या हो रहा है इसका बेहतर विचार प्राप्त करना चाहिए। एक sidenote पर, एक फ़ाइल को लगातार खोलने और बंद करने की शायद आवश्यकता नहीं है और कुछ ओवरहेड का कारण बनता है। – stijn
मुझे पता है कि प्रत्येक चरण पर एक फ़ाइल खोलना और बंद करना सबसे अच्छी रणनीति नहीं है, लेकिन मुझे अप्रत्याशित बाधा के मामले में डेटा के किसी भी नुकसान को रोकने के लिए ऐसा करना है। –
यह नहीं है कि 'फ्लश() 'क्या करता है? – stijn