Re[2]: Как бороться ?
От: flyker Россия  
Дата: 20.03.02 14:38
Оценка:
GR>Вставь кусочек кода, где(по-твоему) возникает эксепшен

Вот исходник:

char* Intl::PrintMoney(double dbl, char *str, WORD w)
{
if( dbl < 0 && dbl > -MoneyEps() ) dbl = 0.0;
return PrintFloat(dbl, str, bCurrDigits, w);
}

Вот он-же в дебаггере:

0FFB7441 push ebp
0FFB7442 mov ebp,esp
0FFB7444 push ecx
0FFB7445 push ecx
0FFB7446 mov dword ptr [ebp-8],0CCCCCCCCh
0FFB744D mov dword ptr [ebp-4],0CCCCCCCCh
0FFB7454 mov dword ptr [ebp-8],edx
0FFB7457 mov dword ptr [ebp-4],ecx
0FFB745A fld qword ptr [dbl]
0FFB745D fcomp qword ptr [__real@8@00000000000000000000 (0ffc64e0)] Исключение возникает по этому адресу
0FFB7463 fnstsw ax
0FFB7465 sahf
0FFB7466 jae Intl::PrintMoney+3Ch (0ffb747d)
0FFB7468 fld dword ptr [Intl::moneyEps (0ffd39ac)]
0FFB746E fchs
0FFB7470 fcomp qword ptr [dbl]
0FFB7473 fnstsw ax
0FFB7475 sahf
0FFB7476 jae Intl::PrintMoney+3Ch (0ffb747d)
Все гениальное — просто
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.