<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Was sagt mir diese Fehlermeldung?]]></title><description><![CDATA[<p>---------------------------<br />
Microsoft Visual C++ Debug Library<br />
---------------------------<br />
Debug Error!</p>
<p>Program: D:\Realisierung\Audiodatic_III\Debug\Audiodatic_III.exe</p>
<p>DAMAGE: after Ignore block (#0) at 0x00432B50.</p>
<p>(Press Retry to debug the application)<br />
---------------------------<br />
Abbrechen Wiederholen Ignorieren<br />
---------------------------</p>
<p>Diese Meldung habe ich eben bekommen. Ich habe wirklich keine Ahnung, nach was ich nun suchen muss. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>--------------------</p>
<p>Achja: Hier lande ich:</p>
<pre><code class="language-cpp">if (!CheckBytes(pbData(pHead) + pHead-&gt;nDataSize, _bNoMansLandFill, nNoMansLandSize))
                _RPT3(_CRT_ERROR, &quot;DAMAGE: after %hs block (#%d) at 0x%08X.\n&quot;,
                    szBlockUseName[_BLOCK_TYPE(pHead-&gt;nBlockUse)],
                    pHead-&gt;lRequest,
                    (BYTE *) pbData(pHead));
</code></pre>
<p>Das ist die Datei: vc98\crt\src\dbgheap.c Zeile 1034</p>
<p>--------------------</p>
<p>Habe weitergeforscht: Kurz bevor er in die Bresche springt, werden 24kb Speicher reserviert.</p>
<p>Ansonsten springt die Speichernutzung eigentlich nur um etwa 4kb.</p>
<p>--------------------</p>
<p>Es gibt noch andere Stellen, wo er beim Absturtz landet:</p>
<pre><code class="language-cpp">void* CMapPtrToPtr::GetValueAt(void* key) const
// find value (or return NULL -- NULL values not different as a result)
{
	if (m_pHashTable == NULL)
		return NULL;

	UINT nHash = HashKey(key) % m_nHashTableSize;

	// see if it exists
	CAssoc* pAssoc;
	for (pAssoc = m_pHashTable[nHash]; pAssoc != NULL; pAssoc = pAssoc-&gt;pNext)
	{
		if (pAssoc-&gt;key == key)
			return pAssoc-&gt;value;
	}
	return NULL;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/67078/was-sagt-mir-diese-fehlermeldung</link><generator>RSS for Node</generator><lastBuildDate>Sat, 06 Jun 2026 08:22:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/67078.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Mar 2004 13:06:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Was sagt mir diese Fehlermeldung? on Fri, 05 Mar 2004 13:52:01 GMT]]></title><description><![CDATA[<p>---------------------------<br />
Microsoft Visual C++ Debug Library<br />
---------------------------<br />
Debug Error!</p>
<p>Program: D:\Realisierung\Audiodatic_III\Debug\Audiodatic_III.exe</p>
<p>DAMAGE: after Ignore block (#0) at 0x00432B50.</p>
<p>(Press Retry to debug the application)<br />
---------------------------<br />
Abbrechen Wiederholen Ignorieren<br />
---------------------------</p>
<p>Diese Meldung habe ich eben bekommen. Ich habe wirklich keine Ahnung, nach was ich nun suchen muss. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>--------------------</p>
<p>Achja: Hier lande ich:</p>
<pre><code class="language-cpp">if (!CheckBytes(pbData(pHead) + pHead-&gt;nDataSize, _bNoMansLandFill, nNoMansLandSize))
                _RPT3(_CRT_ERROR, &quot;DAMAGE: after %hs block (#%d) at 0x%08X.\n&quot;,
                    szBlockUseName[_BLOCK_TYPE(pHead-&gt;nBlockUse)],
                    pHead-&gt;lRequest,
                    (BYTE *) pbData(pHead));
</code></pre>
<p>Das ist die Datei: vc98\crt\src\dbgheap.c Zeile 1034</p>
<p>--------------------</p>
<p>Habe weitergeforscht: Kurz bevor er in die Bresche springt, werden 24kb Speicher reserviert.</p>
<p>Ansonsten springt die Speichernutzung eigentlich nur um etwa 4kb.</p>
<p>--------------------</p>
<p>Es gibt noch andere Stellen, wo er beim Absturtz landet:</p>
<pre><code class="language-cpp">void* CMapPtrToPtr::GetValueAt(void* key) const
// find value (or return NULL -- NULL values not different as a result)
{
	if (m_pHashTable == NULL)
		return NULL;

	UINT nHash = HashKey(key) % m_nHashTableSize;

	// see if it exists
	CAssoc* pAssoc;
	for (pAssoc = m_pHashTable[nHash]; pAssoc != NULL; pAssoc = pAssoc-&gt;pNext)
	{
		if (pAssoc-&gt;key == key)
			return pAssoc-&gt;value;
	}
	return NULL;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/473687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/473687</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Fri, 05 Mar 2004 13:52:01 GMT</pubDate></item><item><title><![CDATA[Reply to Was sagt mir diese Fehlermeldung? on Fri, 05 Mar 2004 16:25:10 GMT]]></title><description><![CDATA[<p>MSDN:</p>
<blockquote>
<p>The “NoMansLand” buffers on either side of the user data area of the block are currently 4 bytes in size, and are filled with a known byte value used by the debug heap routines to verify that the limits of the user’s memory block have not been overwritten.</p>
</blockquote>
<p>Scheinbar wird da zugeordneter Heap-Speicher überschrieben. Da würde ich mal mit dem Debugger die Aufrufliste abklappern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/473888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/473888</guid><dc:creator><![CDATA[CodeWalker]]></dc:creator><pubDate>Fri, 05 Mar 2004 16:25:10 GMT</pubDate></item><item><title><![CDATA[Reply to Was sagt mir diese Fehlermeldung? on Mon, 08 Mar 2004 08:42:11 GMT]]></title><description><![CDATA[<p>Davon ist aber nix von mir geschrieben. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code>_free_dbg_lk(void * 0x00433be0, int 4) line 1033 + 60 bytes
_free_dbg(void * 0x00433be0, int 4) line 970 + 13 bytes
CObject::operator delete(void * 0x00433be0) line 46 + 12 bytes
CTempDC::`scalar deleting destructor'(unsigned int 1) + 34 bytes
CHandleMap::DeleteTemp() line 236 + 31 bytes
AfxUnlockTempMaps(int 1) line 51
CWinThread::OnIdle(long 1) line 587
CWinApp::OnIdle(long 1) line 492 + 12 bytes
CWinThread::Run() line 472 + 30 bytes
CWinApp::Run() line 400
AfxWinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00132b91, int 1) line 49 + 11 bytes
WinMain(HINSTANCE__ * 0x00400000, HINSTANCE__ * 0x00000000, char * 0x00132b91, int 1) line 30
WinMainCRTStartup() line 330 + 54 bytes
KERNEL32! 77e987e7()
</code></pre>
<p>Ich blick es nicht mehr. Ich kann den Fehler in 99% der Fälle reproduzieren, aber es knallt immer mal wieder woanders (andere Quelltextstelle) und nach unterschiedlichen Aktionen.</p>
<p>Wenn jemand Interesse hat, verschicke ich auch die Klassen, die den Mist machen. Die sind eine Mischung aus mehreren Codeprojekt Klassen: CSortListCtrl und CFilterListCrtl. Vielleicht habe ich da ja was falsch gemacht, obwohl ich nun so aufgepasst habe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Im Moment habe ich diese beiden Zeilen im Verdacht, aber ich suche noch nach den Gegenstücken...</p>
<pre><code class="language-cpp">m_pEdit=new CFilterEdit();

			m_pEdit-&gt;CreateEx(WS_EX_CLIENTEDGE | WS_EX_NOPARENTNOTIFY ,&quot;EDIT&quot;,NULL,ES_WANTRETURN | WS_VISIBLE | WS_CHILD | WS_GROUP | ES_AUTOHSCROLL,rc,this,IDC_ED_EDIT,NULL);
</code></pre>
<p>Also, falls noch jemand eine Idee hat... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/475531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/475531</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 08 Mar 2004 08:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to Was sagt mir diese Fehlermeldung? on Mon, 08 Mar 2004 08:57:13 GMT]]></title><description><![CDATA[<p>So, dieses Mal hat es bis zum Absturz echt lange gedauert und ich bin hier gelandet:</p>
<pre><code class="language-cpp">CObject* CHandleMap::FromHandle(HANDLE h)
{
	ASSERT(m_pClass != NULL);
	ASSERT(m_nHandles == 1 || m_nHandles == 2);

	if (h == NULL)
		return NULL;

	CObject* pObject = LookupPermanent(h);
	if (pObject != NULL)
		return pObject;   // return permanent one
	else if ((pObject = LookupTemporary(h)) != NULL)
	{
		HANDLE* ph = (HANDLE*)((BYTE*)pObject + m_nOffset); // &lt;--------- HIER

		ASSERT(ph[0] == h || ph[0] == NULL);		
                  ph[0] = h;
		if (m_nHandles == 2)
		{
			ASSERT(ph[1] == h || ph[1] == NULL);
			ph[1] = h;
		}
		return pObject;   // return current temporary one
	}
</code></pre>
<p>Vor allem hab ich jetzt auch Sachen, die ich kenne in der Aufrufliste:</p>
<pre><code>CHandleMap::FromHandle(void * 0x03010599) line 127 + 3 bytes
CDC::FromHandle(HDC__ * 0x03010599) line 102 + 12 bytes
CWnd::GetDC() line 112 + 69 bytes
CSortHeaderCtrl::CalcFontHeight() line 522 + 8 bytes
CSortHeaderCtrl::DefWindowProcA(unsigned int 4613, unsigned int 0, long 1243868) line 645
CWnd::WindowProc(unsigned int 4613, unsigned int 0, long 1243868) line 1586 + 26 bytes
AfxCallWndProc(CWnd * 0x004328d4 {CSortHeaderCtrl hWnd=???}, HWND__ * 0x000708d8, unsigned int 4613, unsigned int 0, long 1243868) line 215 + 26 bytes
AfxWndProc(HWND__ * 0x000708d8, unsigned int 4613, unsigned int 0, long 1243868) line 368
AfxWndProcBase(HWND__ * 0x000708d8, unsigned int 4613, unsigned int 0, long 1243868) line 220 + 21 bytes
USER32! 77e2a2d0()
</code></pre>
<p>(CSortHeaderCtrl ist die Klasse, die ich kenne.)</p>
<p>Ich habe wohl irgendein Problem mit dem GetDC(). <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/475538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/475538</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 08 Mar 2004 08:57:13 GMT</pubDate></item><item><title><![CDATA[Reply to Was sagt mir diese Fehlermeldung? on Mon, 08 Mar 2004 09:06:50 GMT]]></title><description><![CDATA[<p>Nächste Version!</p>
<p>Ich sammel das hier mal, vielleicht sieht ja jemand mal was.</p>
<pre><code>CDumpContext::operator&lt;&lt;(const char * 0x5f4abadc `string') line 72 + 6 bytes
CObject::Dump(CDumpContext &amp; {...}) line 118 + 40 bytes
CSortHeaderCtrl::CalcFontHeight() line 547 + 17 bytes
CSortHeaderCtrl::DefWindowProcA(unsigned int 4613, unsigned int 0, long 1221276) line 645
CWnd::WindowProc(unsigned int 4613, unsigned int 0, long 1221276) line 1586 + 26 bytes
AfxCallWndProc(CWnd * 0x004328d4 {CSortHeaderCtrl hWnd=???}, HWND__ * 0x000a0830, unsigned int 4613, unsigned int 0, long 1221276) line 215 + 26 bytes
AfxWndProc(HWND__ * 0x000a0830, unsigned int 4613, unsigned int 0, long 1221276) line 368
AfxWndProcBase(HWND__ * 0x000a0830, unsigned int 4613, unsigned int 0, long 1221276) line 220 + 21 bytes
</code></pre>
<pre><code class="language-cpp">CDumpContext&amp; CDumpContext::operator&lt;&lt;(LPCTSTR lpsz)
{
	if (lpsz == NULL)
	{
		OutputString(_T(&quot;(NULL)&quot;));
		return *this;
	}

#ifdef _DEBUG // all CDumpContext output is controlled by afxTraceEnabled
	if (!afxTraceEnabled)
		return *this;
#endif //_DEBUG

	if (m_pFile == NULL) // Hier steht der Pfeil, war wohl der einen höher?
	{
		TCHAR szBuffer[512];
		LPTSTR lpBuf = szBuffer;
		while (*lpsz != '\0')
		{
</code></pre>
<p>Und der Memory check error kommt auch gerne.</p>
<pre><code>memory check error at 0x00436FF0 = 0x01, should be 0xFD.
memory check error at 0x00436FF1 = 0x00, should be 0xFD.
memory check error at 0x00436FF2 = 0x00, should be 0xFD.
memory check error at 0x00436FF3 = 0x00, should be 0xFD.
Nicht abgefangene Ausnahme in Audiodatic_III.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
Nicht abgefangene Ausnahme in Audiodatic_III.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
Nicht abgefangene Ausnahme in Audiodatic_III.exe (MFC42D.DLL): 0xC0000005: Access Violation.
</code></pre>
<p>Und wie finde ich das, was diese Zeile verursacht?</p>
<pre><code>Nicht abgefangene Ausnahme in Audiodatic_III.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.
</code></pre>
<p>Die kommt nämlich viel öfter als sonst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/475541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/475541</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 08 Mar 2004 09:06:50 GMT</pubDate></item><item><title><![CDATA[Reply to Was sagt mir diese Fehlermeldung? on Mon, 08 Mar 2004 09:17:20 GMT]]></title><description><![CDATA[<p>Einen hab ich noch... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code>_free_dbg_lk(void * 0x00434110, int 1) line 1062 + 11 bytes
_free_dbg(void * 0x00434110, int 1) line 970 + 13 bytes
operator delete(void * 0x00434110) line 351 + 12 bytes
CSortListCtrl::FreeItemMemory(const int 17) line 213 + 21 bytes
CSortListCtrl::DeleteAllItems() line 232 + 12 bytes
COrteView::LeereListe() line 218
COrteDoc::Filter(CString {&quot;&quot;}, CString {&quot;&quot;}) line 125
COrteView::OnNotify(unsigned int 395450, long 1241428, long * 0x0012ef00) line 458
CWnd::OnWndMsg(unsigned int 78, unsigned int 395450, long 1241428, long * 0x0012ef44) line 1609 + 40 bytes
CWnd::WindowProc(unsigned int 78, unsigned int 395450, long 1241428) line 1585 + 30 bytes
AfxCallWndProc(CWnd * 0x00432790 {COrteView hWnd=???}, HWND__ * 0x000708d0, unsigned int 78, unsigned int 395450, long 1241428) line 215 + 26 bytes
AfxWndProc(HWND__ * 0x000708d0, unsigned int 78, unsigned int 395450, long 1241428) line 368
AfxWndProcBase(HWND__ * 0x000708d0, unsigned int 78, unsigned int 395450, long 1241428) line 220 + 21 bytes
</code></pre>
<pre><code class="language-cpp">/* optionally reclaim memory */
        if (!(_crtDbgFlag &amp; _CRTDBG_DELAY_FREE_MEM_DF))
        {
            /* remove from the linked list */
            if (pHead-&gt;pBlockHeaderNext)
            {
// Zu pHead-&gt;pBlockHeaderNext sagt die Überwachung nur: CXX0025
                pHead-&gt;pBlockHeaderNext-&gt;pBlockHeaderPrev = pHead-&gt;pBlockHeaderPrev; // &lt;-- Hier ist der Pfeil
            }
            else
            {
                _ASSERTE(_pLastBlock == pHead);
                _pLastBlock = pHead-&gt;pBlockHeaderPrev;
            }
</code></pre>
<p>Hier ist noch der Teil aus der Controlklasse:</p>
<pre><code class="language-cpp">void CSortListCtrl::FreeItemMemory( const int iItem )
{
	ItemData* pid = reinterpret_cast&lt;ItemData*&gt;( CListCtrl::GetItemData( iItem ) );

	LPTSTR* arrpsz = pid-&gt;arrpsz;

	for( int i = 0; i &lt; m_iNumColumns; i++ )
		delete[] arrpsz[ i ]; // &lt;-----

	delete[] arrpsz;
	delete pid;

	VERIFY( CListCtrl::SetItemData( iItem, NULL ) );
}
BOOL CSortListCtrl::DeleteAllItems()
{
	for( int iItem = 0; iItem &lt; GetItemCount(); iItem ++ )
		FreeItemMemory( iItem ); // &lt;----

	return CListCtrl::DeleteAllItems();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/475543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/475543</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Mon, 08 Mar 2004 09:17:20 GMT</pubDate></item></channel></rss>