Debug assertion failed

3 отговора 151 прегледа
#1

Debug assertion failed

Poluchih greshka "Debug assertion failed" kogato izpylnih porgrama, kojato predi tova kompilirah bez problemi. Znaete li kakyv bi mogyl da e problema?
Kompilirah na VS++ 6.0.

Отговор
в отговор на Nikola #2

Re: Debug assertion failed

te za towa sa debug assertion-ite - nai-chesto se polzwat
za otkriwane na situacii do koito po predpolojenie na programista
ne bi triabwalo da se stiga primerno

int divide( int delimo, int delitel )
{
assert( 0 != delitel );

primera e za assert, a ne za primer :)

wzemi procheti seriozno helpa za assert, ne e zle da potyrsih i neshto
w google za da razberesh che e polezno neshto.

po princip w MFC izobilstwat, taka che imash mnogo takiwa :)
message box-a koito se poiawiawa ima buton za aktiwirane na debugera
taka che go natisni ( retry mai beshe :) )
sled towa wij call stack -prozoreca ( ot debug windows )
za da razberash w koia ot twoite funkcii e problema, shtoto koda deto shte
pochensh da debugwash e ot MFC weroiatno :)

Отговор
в отговор на Nikola #3

Re: Debug assertion failed

в мфц е пълно с асерти, може да бъде от къде ли не. например ако се пробваш да бараш прозорец от чужда нишка, дава асерт. а същия случай ако бъде направен в релийз си работи на вид безпроблемно, само че е критична секция и може да се издъни. значи в диалога който ти излиза, дай retry и после избери дебъг (при 98 и 2000 е различно). би трябвало да те позиционира на мястото на ASSERTa който дига алармата. виж какъв му е смисъла - в мфц много често до асерта с думи е написано срещу какви случаи е предвиден

Отговор
в отговор на Nikola #4

Re: Debug assertion failed

В повечето случаи проблема е некоректни параметри. Рядко се случва неправилно използване на функцията (объркани права на треда, забранен достъп до някъде си и пр.), а най-рядко е недостиг на ресурси.

Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Отговор