Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Lỗi: debug assertion failed xử lý thế nào?

  1. #1
    Ngày gia nhập
    03 2011
    Bài viết
    50

    Mặc định Lỗi: debug assertion failed xử lý thế nào?

    Chương trình của mình hiện debug thì không vấn đề gì, nhưng lúc chạy thử thì bị báo 2 lỗi trên. Xin hỏi làm sao để khắc phục được
    2 trường hợp bị lỗi đây :
    Code:
    	CString filename,filename_length,filename_color,str,str1;
    	UpdateData(true);
            int count  ;
    	filename = m_myList + ".txt";
    	m_myListBox.ResetContent();//m_myListBox là biến value của 1 editbox dùng để nhập giá trị từ bàn phím
    	CListBoxSafe::LoadList(m_myListBox,filename,10,10);
    	filename_length = m_myList + "length.txt";
    	filename_color = m_myList + "color.txt";
    	CStdioFile f,f1;
    	f.Open(filename_length,CFile::modeRead);
    	f1.Open(filename_color,CFile::modeRead);
    	
    
    	for (count=0;count<10;count++)
    	{
    		f.ReadString(str);
    		Array_length[count]=str;//Array_length và Array_color là 2 mảng kiểu CStringArray
    		f1.ReadString(str1);
    		Array_color[count]=str1;
    	}
    	f.Close();
    	f1.Close();
    }
    Đoạn code trên khi chạy thì báo lỗi debug assertion failed ở dòng 305, thuộc file afxcoll.inl, dòng đó như sau :
    Code:
    _AFXCOLL_INLINE CString& CStringArray::ElementAt(INT_PTR nIndex)
    	{ ASSERT(nIndex >= 0 && nIndex < m_nSize);
    		if( nIndex < 0 || nIndex >= m_nSize )
    			AfxThrowInvalidArgException();
    		return m_pData[nIndex]; }
    Đoạn lỗi thứ 2 như sau : m_myText là biến value control kiểu CStatic của 1 static control. Mình định nhấn nút này thì static control đó sẽ thay đổi caption thành Da chay xong, nhưng khi thử thì bị báo lỗi debug assertion failed ở dòng 246 thuộc file winocc.cpp
    Code:
    void CCalculateDlg::OnBnClickedButton1()
    {
    	m_myText.SetWindowText("Da chay xong");
    	
    }
    Dòng 246 như sau :
    Code:
    void CWnd::SetWindowText(LPCTSTR lpszString)
    {
    	ENSURE(this);
    	ENSURE(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));
    
    	if (m_pCtrlSite == NULL)
    		::SetWindowText(m_hWnd, lpszString);
    	else
    		m_pCtrlSite->SetWindowText(lpszString);
    }
    Bạn nào biết vui lòng chỉ giùm tại sao lại bị lỗi như vậy! Vô cùng cám ơn
    Đã được chỉnh sửa lần cuối bởi Athrun : 14-12-2011 lúc 04:17 PM.

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Cứ chỗ nào có ASSERT(condition) thì sẽ hiện lên thông báo khi mà condition không thỏa mãn. Cách sửa là hãy làm cho nó thỏa mãn. Để không mắc phải lần sau, bạn cần xem ASSERT có tác dụng gì.

    ASSERT là một từ khóa được định nghĩa để giúp cho lập trình viên biết được một điều kiện không thỏa mãn đối với yêu cầu của logic sau nó. Kevin cực kỳ ít khi sử dụng ASSERT mặc định, thường là không, hoặc tự định nghĩa.

    Hãy đọc thêm tài liệu đi, đây là vấn đề rất cơ bản khi bạn bắt đầu với "Mi cờ rô đô lờ" VC++

    PS: Bạn sẽ tiếp tục bị ban nếu như bạn vẫn không chịu tìm hiểu luật lệ tham gia một cách kỹ lưỡng, kể cả là bạn tạo một tài khoản khác.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

Các đề tài tương tự

  1. Bài tập C Lỗi DEBUG ASSERTION FAILED khi cấp phát động
    Gửi bởi oracle95 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 04-01-2014, 04:07 PM
  2. Tìm đường đi của matrix, báo lỗi debug assertion failed?
    Gửi bởi nguyendinhhao trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 0
    Bài viết cuối: 19-05-2013, 09:57 AM
  3. xảy ra lỗi debug assertion failed khi push_back con trỏ đối tượng vào vector?
    Gửi bởi pe_bi19 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 23-04-2012, 06:10 PM
  4. Kỹ thuật C++ Hàm Invalidate bị lỗi Debug Assertion Failed khi chạy MFC
    Gửi bởi Nupakachy trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 04-09-2011, 09:38 AM
  5. Lỗi DEBUG ASSERTION FAILED! trong VS 2005 sửa thế nào?
    Gửi bởi thanhtt trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 03-08-2011, 06:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn