Debug Assertion Failed ?



  • im Debug-Modus kommt bei mir diese Meldung an einer bestimmten Stelle. Doch wenn ich das Programm im Release-Modus ausführe läufts wunderbar. Was hat diese Debug-Fehlermeldung zu bedeuten ?



  • welche Fehlermeldung?



  • Hi,

    alles was über das Makro ASSERT abgefangen wird, ergibt nur in der Debug- Version eine Fehlermeldung. Der eigentliche Fehler, der die Fehlermeldungen in der Debugversion erscheinen läßt ist auch in der Relase-Version vorhanden. Man sollte ihm also auf den Grund gehen ( sonst ruft ihrgentwann Dein Kunde an und erzählt Dir von einem merkwürdigen Programm verhalten). Genauso verhält es sich Compiler-Warnungen!!!

    Ein Tip: Programm im Debugger laufen lassen, dann kommt man kann schnell auf den Fehler.



  • danke für die auskunft. hab den fehler jetzt entdeckt. und zwar in einer OnSize-Funktion wollte ich ein ListCtrl (m_MaterialListCtrl) dynamisch anpassen. Doch das ListCtrl war noch gar nicht erstellt.

    void CMaterialView::OnSize(UINT nType, int cx, int cy)
    {
    CFormView::OnSize(nType, cx, cy);

    // TODO: Code für die Behandlungsroutine für Nachrichten hier einfügen

    if (m_MaterialListCtrl.GetSafeHwnd()==NULL) return; //wurde ListCtrl-Fenster bereits erzeugt ?

    // Steuerelementgröße der Fenstergröße anpassen
    CRect rect,pos;
    GetClientRect(&rect);
    pos.TopLeft().x = rect.TopLeft().x+16;
    pos.TopLeft().y = rect.TopLeft().y+32;
    pos.BottomRight().x = rect.BottomRight().x-16;
    pos.BottomRight().y = rect.BottomRight().y-16;
    m_MaterialListCtrl.MoveWindow(pos);

    //ListViewCtrl die 2.Spalte der Fenstergröße anpassen
    LVCOLUMN Column.mask=LVCF_WIDTH ;
    Column.cx=rect.Width()-142;
    m_MaterialListCtrl.SetColumn(1,&Column);

    }

    nochmals danke für den debug u. release hinweis.


Anmelden zum Antworten